Чому ваш Kubernetes — це дорогий спосіб страждати
Колись деплой виглядав так: scp, перезапуск, коротка молитва. Це було погано, і всі це знали. Тепер у нас GitOps, оператори, сервіс-меш і шістнадцять YAML-файлів на один контейнер — і це чомусь називається прогресом. Сам контейнер, нагадаю, друкує «Hello, world» і падає раз на тиждень.
Kubernetes — геніальна технологія для компаній, у яких є проблеми Google. Невеличкий спойлер: у вас немає проблем Google. У вас є моноліт на двадцять ендпоінтів, три розробники й один сеньйор, який «колись уже піднімав кластер». Цього достатньо, щоб страждання стали інфраструктурними.
Звідки ця любов до страждань
Відповідь проста: резюме. Жоден інженер не напише в LinkedIn «підтримував systemd-юніти, все працювало». Це нудно. «Мігрував на Kubernetes із zero-downtime» — ось це звучить. Те, що downtime був, просто його ніхто не моніторив, — деталі імплементації.
«Нам потрібен Kubernetes, бо він є в конкурентів.»
— CTO стартапу на чотири людини
Далі вмикається класична спіраль: щоб обслуговувати кластер, наймають девопса. Девопс приносить Helm, ArgoCD і власну думку. Тепер у вас два кластери (стейджинг «тимчасово» зламаний), монорепа чартів і канал у Slack, де бот щоночі пише CrashLoopBackOff. Команда та сама. Продукт той самий. Рахунок від хмари — ні.
# 4 сервіси, 9 оточень, 1 людина, яка це розуміє
replicaCount: 3
resources:
requests:
cpu: "250m" # цифра зі стелі
memory: "512Mi" # стеля з минулого проєкту
autoscaling:
enabled: true # вимкнено з 2024-го, ніхто не пам'ятає чомуЩо з цим робити
Чесна відповідь, якої ви не хочете: можливо, нічого не робити. Docker Compose на одній здоровій машині переживе більшість стартапів. Але якщо кластер уже стоїть — не зносьте його в пʼятницю. Задокументуйте той один YAML, який усі бояться чіпати, і подаруйте девопсу вихідний. Він знає, де лежать ваші секрети. Буквально — у secrets.yaml, у base64, який усі вважають шифруванням.
Увага, прод!
Якщо після цієї статті вам захотілося «трохи порефакторити інгреси» — зачиніть ноутбук. Сьогодні пʼятниця десь у світі.
А Kubernetes, звісно, лишиться. Він уже переміг — як Jira, опенспейси та дейліки о 9:45. Питання не «чи страждати», а «чи усвідомлено». Ми тут якраз про усвідомленість.
Коментарі — 5
Щоб коментувати, треба увійти або зареєструватись. Анонімність — у ніку.
Мій деплой без жодного Kubernetes:
Пʼять років аптайму. Інколи найкраща оркестрація — совість.
Не зрозумів половини слів, але на естімейтах тепер казатиму «це через Kubernetes». Дякую за інструмент.
Я QA, і моя улюблена команда тепер
kubectl get pods— це як гороскоп, тільки точніший. Сьогодні три поди в ретроградному CrashLoopBackOff.@olena_qa гороскоп хоча б не будить о 3:00. А взагалі стаття мʼяка: автор ще не бачив кластер, де production і staging відрізняються однією літерою в kubeconfig. Я бачив. Я та літера.
Прочитав, поплакав, відкрив наш helm chart, поплакав ще раз. Усе правда. Особливо про base64 — у нас його досі називають «шифруванням» у документації.