Модуль 4.1: Керований vs Власний Kubernetes
Складність: [MEDIUM] | Час на виконання: 2 год | Передумови: Базові знання Kubernetes (Pods, Deployments, Services)
Чому цей модуль важливий
Розділ «Чому цей модуль важливий»У березні 2022 року фінтех-стартап у Берліні три роки запускав власний Kubernetes на “залізі”. Вони пишалися цим: самі налаштовували etcd, ротували сертифікати, писали кастомний моніторинг. Команда з 6 інженерів знала кожен куточок інфраструктури. Потім лід-інженер звільнився, а за ним пішов ще один. Ті четверо, що залишилися, ніколи не оновлювали версію Kubernetes самостійно. Коли вийшла критична вразливість в API-сервері, команда “замерзла”: вони боялися оновлювати кластер, щоб нічого не зламати. 11 днів вони працювали з діркою в безпеці, бо ніхто не розумів процедуру оновлення.
Ця історія може бути і протилежною. Велика логістична компанія на EKS зрозуміла, що стандартний час відновлення API-сервера (15 хв) їм не підходить для реального часу. Їм потрібен був миттєвий failover, який EKS не міг дати. Вони перейшли на власний Kubernetes на EC2 — і їхні витрати впали на 40%, бо вони могли самі обирати розмір серверів для керування кластером.
Жодне рішення не було помилковим. Обидва були правильними для свого контексту. Складність — зрозуміти, у якому контексті ви. У цьому модулі ви навчитеся приймати це рішення впевнено. Ви зрозумієте, що насправді означає “керований” (це менше, ніж ви думаєте), як порахувати справжню ціну власного кластера та коли варто втекти з керованих платформ, щоб запустити свою.
Модель спільної відповідальності
Розділ «Модель спільної відповідальності»Головна помилка: думати, що “керований” (managed) означає “хтось інший робить усе”. Це не так. Кожен провайдер ділить обов’язки з вами.
| Компонент | Власний (Self-Managed) | Керований (EKS/GKE/AKS) |
|---|---|---|
| Код додатка | ВИ | ВИ |
| Безпека подів | ВИ | ВИ |
| Вузли (Worker Nodes) | ВИ | ВИ (частково керовано) |
| Control Plane (API, etcd) | ВИ | ПРОВАЙДЕР |
| Патчі ОС вузлів | ВИ | ВИ (або ПРОВАЙДЕР у Fargate) |
| Фізична безпека | ВИ (якщо on-prem) | ПРОВАЙДЕР |
Навіть на повному Managed K8s ви все одно відповідаєте за 70% стека: мережеві політики, налаштування Ingress, безпеку образів та патчі вузлів.
Control Plane: Що насправді робить провайдер?
Розділ «Control Plane: Що насправді робить провайдер?»Control Plane (площина управління) — це “мозок” кластера.
| Компонент | Що він робить | Ваша проблема при self-managed |
|---|---|---|
| kube-apiserver | Весь зв’язок іде через нього | Треба налаштувати HA, TLS, аудит |
| etcd | База даних кластера | Треба робити бекапи, дефрагментацію, стежити за кворумом |
| scheduler | Вирішує, де запустити поди | Треба налаштовувати профілі та пріоритети |
Провайдери (EKS, GKE, AKS) беруть цей головний біль на себе. Вони гарантують, що API-сервер завжди доступний, а etcd не “помре” разом із вашими даними.
Справжня вартість володіння (TCO)
Розділ «Справжня вартість володіння (TCO)»Найбільша помилка: порівнювати тільки цифри в чеку. “EKS коштує $73/міс за кластер, а kubeadm — безкоштовно!”. Побудувати власний будинок теж безкоштовно, якщо не рахувати цеглу, інструменти, дозволи та два роки вашого життя.
Приховані витрати власного кластера:
Розділ «Приховані витрати власного кластера:»- Інженерні години: Одне оновлення версії K8s на 20 вузлах займає у сеньйора 4-8 годин. Множимо на 4 оновлення на рік.
- Моніторинг: Вам треба самим збирати метрики з etcd та API-сервера.
- Ризик: Якщо etcd втратить кворум о 3 годині ночі — провайдер цього не виправить. Ваш інженер має бути на зв’язку 24/7.
Коли варто піти з Managed Kubernetes?
Розділ «Коли варто піти з Managed Kubernetes?»- Кастомні планувальники (schedulers): Якщо стандартний Kubernetes не знає, як правильно розселяти ваші специфічні задачі.
- Екстремально низька затримка: Спільні API-сервери додають 10-50 мс затримки. Свій etcd на локальних NVMe дисках — це мілісекунди.
- Ізольовані середовища (Air-gapped): Коли інтернет заборонений за вимогами безпеки.
- Edge / IoT: Кластери на слабкому залізі (напр. Raspberry Pi), де стандартні EKS/GKE не запустяться.
Типові помилки
Розділ «Типові помилки»| Помилка | Чому це стається | Як виправити |
|---|---|---|
| Порівняння тільки ціни хмари | ”EKS занадто дорогий” | Порахуйте вартість години ваших інженерів на обслуговування etcd |
| Self-managed без знань etcd | ”Це ж просто база даних” | Втрата etcd = смерть усього кластера. Навчіться робити snapshots або йдіть на Managed |
| Продакшн на Free Tier AKS | Спроба зекономити $73 | Безкоштовний рівень AKS не має SLA. Якщо API “впаде” — Microsoft не поспішатиме його лагодити |
| Власний кластер для навчання | Цікавість інженерів | Вчіться в лабі. Продакшн існує для клієнтів, а не для тренувань |
Тест
Розділ «Тест»1. Що є найнебезпечнішим компонентом при самостійному управлінні кластером?
etcd. Це база даних усього кластера. Якщо вона зламається або втратить кворум (напр. вимкнеться 2 сервери з 3) — кластер перестане працювати. Ви не зможете запустити жоден под, поки не відновите etcd з бекапа.
2. У чому головна перевага GKE Autopilot?
В Autopilot Google керує не тільки площиною управління, а й самими вузлами (серверами). Вам не треба думати про patching вузлів або вибір розміру серверів — ви платите тільки за ресурси, які реально споживають ваші поди.
Практична вправа: Аналіз TCO
Розділ «Практична вправа: Аналіз TCO»- Порахуйте вартість роботи одного сеньйор-інженера протягом 20 годин на місяць (типовий час на ops-задачі власного кластера).
- Порівняйте це з ціною $73/міс за керований кластер.
- Дайте відповідь: при якій кількості кластерів у компанії стає вигідно найняти окрему команду для управління власним Kubernetes?
Наступний модуль
Розділ «Наступний модуль»Переходьте до Модуля 4.2: Мультикластерні та мультирегіональні архітектури — ви дізнаєтеся, що робити, коли одного кластера замало, як налаштувати failover між регіонами та як керувати флотом кластерів по всьому світу.