Docker и Kubernetes

Введение в Kubernetes

Frank Heilmann

Platform Architect and Freelance Instructor

Инструменты оркестрации контейнеров

инструменты оркестрации контейнеров

  • Современные программные стеки могут включать тысячи отдельных контейнеров
  • Управление всеми этими контейнерами называется оркестрацией контейнеров; для этого существует несколько инструментов оркестрации
  • Рыночная доля Kubernetes превышает 95%
Введение в Kubernetes

Kubernetes для оркестрации

  • Kubernetes решает типичные задачи оркестрации контейнеров, например:
    • планирование и сети (куда развернуть контейнер и как его подключить)
    • подключение хранилища к контейнеру
  • Для этого Kubernetes взаимодействует с движками контейнеров.

Kubernetes и Docker

Введение в Kubernetes

Взаимосвязь Docker и Kubernetes

  • Docker — наиболее популярный движок контейнеров
  • Kubernetes взаимодействует с Docker для планирования и управления контейнерами
  • Docker обычно используется для двух задач:
    • создание и обновление образов Docker
    • запуск контейнеров из этих образов
  • Kubernetes никогда не создаёт образы Docker — для этого используется Docker
Введение в Kubernetes

Манифесты Kubernetes

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 5
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.25.4
        ports:
        - containerPort: 80
  • Объекты Kubernetes (например, контейнеры) описываются в так называемых манифестах Kubernetes
  • Манифесты — это YAML-файлы, описывающие нужные объекты, их конфигурацию, расположение и многое другое
  • Манифесты декларативны: вы описываете что нужно получить, то есть желаемое состояние системы
  • Они не императивны — вы не описываете, как этого достичь
Введение в Kubernetes

kubectl

kubectl и Kubernetes

  • kubectl — инструмент командной строки для работы с Kubernetes
  • kubectl поддерживает множество команд и параметров
  • kubectl читает манифест, отправляет его в Kubernetes через API, и Kubernetes вычисляет, что нужно сделать для достижения нужного состояния
  • Произносится cube cuddle ;-)
Введение в Kubernetes

Давайте потренируемся!

Введение в Kubernetes

Preparing Video For Download...