Kubernetes (k8s)¶
Kubernetes (скорочено k8s) — відкрита система оркестрації контейнерів, розроблена Google, що автоматизує розгортання, масштабування та управління контейнеризованими застосунками.
Опис¶
Kubernetes організує контейнери у логічні одиниці — Pod-и. Pod є мінімальною одиницею розгортання і може містити один або кілька контейнерів, які поділяють мережевий простір та зберігання. Над Pod-ами надбудовуються вищі абстракції: Deployment (керує бажаною кількістю реплік), Service (стабільна точка доступу), Ingress (зовнішній HTTP-маршрутизатор), ConfigMap та Secret (конфігурація та секрети).
Кластер складається з вузлів двох типів: Control Plane (etcd, API-сервер, планувальник, менеджер контролерів) та Worker Nodes, де безпосередньо виконуються Pod-и. kubelet на кожному вузлі підтримує бажаний стан відповідно до специфікацій API-сервера. Такий підхід реалізує декларативне управління: оператор описує бажаний стан кластера у YAML-маніфестах, а Kubernetes сам досягає і підтримує цей стан.
Горизонтальне автомасштабування (HPA) регулює кількість реплік на основі CPU, пам'яті або довільних метрик з Prometheus. Rolling update дозволяє оновлювати застосунок без простою — нові Pod-и піднімаються раніше, ніж зупиняються старі. При збоях Kubernetes автоматично перезапускає поди та переміщує їх на справні вузли.
Мережева модель Kubernetes (CNI) є плоскою: кожен Pod має унікальну IP-адресу і може напряму спілкуватися з будь-яким іншим Pod-ом в кластері. Популярні CNI-плагіни: Calico, Flannel, Cilium.
В контексті UMTC¶
У UMTC Kubernetes розглядається як цільова платформа для production-розгортань, де потрібна висока доступність та автомасштабування. Для польових умов, де ресурси обмежені, більш доцільним є легкий дистрибутив k3s (Rancher), який споживає менше 512 МБ RAM та підходить для ARM-пристроїв.
Конфігурації UMTC-сервісів (Wiki, моніторинг, бекенди) пакуються у Helm charts, що дозволяє відтворювати однакове середовище на різних кластерах — від тестового стенду до бойового розгортання. Prometheus Operator у Kubernetes автоматично виявляє нові сервіси та додає їх до моніторингу без ручного налаштування.
Пов'язані терміни¶
- docker — технологія контейнеризації, якою керує Kubernetes
- helm — пакетний менеджер для Kubernetes; спрощує розгортання складних застосунків
- prometheus — стандарт моніторингу в екосистемі Kubernetes
- ansible — може використовуватись для підготовки вузлів кластера перед встановленням Kubernetes
Посилання¶
Шлях: glossary/kubernetes.md