Це стара версія документу!
Теорична інформация
Кубернетес можна уявити наступним чином:
Маніфест (YAML)
│\\ ▼\\
Deployment
│\\ ▼\\
ReplicaSet
│\\ ▼\\
Pods
│\\ ▼\\
Containers
==== 1. Маніфест (Manifest) ====
Це просто YAML-файл , у якому описано, що ти хочеш отримати.
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
…
Ти застосовуєш його:
kubectl apply -f deployment.yaml
Kubernetes читає файл і створює потрібні ресурси.
==== 2. Deployment ====
Deployment відповідає за те, скільки подів повинно працювати і якої вони версії .
Наприклад:
replicas: 3
означає:
Deployment
│\\
┌──┴──┐
│ │
Pod1 Pod2 Pod3
Якщо один под помре — Deployment автоматично створить новий.
Також через Deployment робляться rolling updates.
==== 3. ReplicaSet ====
Це проміжний ресурс.
Його майже ніколи не чіпають вручну.
Deployment автоматично створює ReplicaSet, а той вже стежить за кількістю подів.
Deployment
│\\
ReplicaSet
│\\
3 Pods
==== 4. Pod ====
Под — це найменша одиниця, яку запускає Kubernetes.
Усередині пода може бути один або кілька контейнерів.
Найчастіше:
Pod
└── Container (portapi)
Або:
Pod
├── app
└── nginx
==== 5. Container ====
Це вже сам Docker-контейнер.
Саме тут запускається твоя програма.
Наприклад:
nginx