====== Теорична інформация ====== Кубернетес можна уявити наступним чином: Маніфест (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