Что входит в поддержку Kubernetes
Можно взять один пункт, например только обновление версии, или передать кластер на сопровождение целиком.
Развёртывание кластера
Поднимаю кластер, который описан в коде и который можно пересоздать с нуля.
- ✓Managed Kubernetes в Yandex Cloud или Selectel
- ✓on-premise: K3s или kubeadm на ваших серверах
- ✓ingress, сертификаты, хранилище
- ✓Terraform и Helm вместо ручных команд
Обновление версий
Kubernetes выпускает новую версию примерно раз в 4 месяца. Обновляю по плану, а не когда провайдер обновит принудительно.
- ✓проверка устаревших API до обновления
- ✓обновление control plane, нод и аддонов
- ✓обновление по одной ноде без простоя
- ✓план отката
Ресурсы и стабильность
Большинство падений подов - это неверные лимиты и отсутствие проверок здоровья.
- ✓requests и limits по реальному потреблению
- ✓liveness и readiness-пробы
- ✓автомасштабирование подов и нод
- ✓PodDisruptionBudget для безопасных обновлений
Мониторинг и логи
Видно не только что упало, но и почему.
- ✓метрики кластера, нод и приложений
- ✓логи всех подов в одном месте
- ✓алерты в Telegram
- ✓дашборды для команды
CI/CD и GitOps
Релиз должен идти из Git и откатываться одной командой, а не через kubectl с ноутбука.
- ✓Helm-чарты для сервисов
- ✓пайплайны GitLab CI или GitHub Actions
- ✓GitOps через ArgoCD
- ✓окружения для разработки и продакшена
Безопасность
Закрываю типичные дыры, которые остаются в кластерах после быстрого старта.
- ✓RBAC и отдельные доступы для людей и CI
- ✓сетевые политики между сервисами
- ✓секреты вне Git
- ✓проверка образов на уязвимости
Бэкапы
Кластер можно пересоздать из кода, а данные нет. Поэтому бэкапы и проверка восстановления обязательны.
- ✓бэкап манифестов и persistent volumes
- ✓бэкап баз за пределами кластера
- ✓хранение в S3
- ✓плановая проверка восстановления
Аудит кластера
Разбираю кластер, доставшийся от прежней команды, и составляю план.
- ✓версии и сроки поддержки
- ✓ресурсы и стоимость нод
- ✓доступы, секреты, сетевые политики
- ✓ответ, нужен ли вам Kubernetes вообще
Стоимость поддержки Kubernetes
Цены фиксированные. Работы сверх сопровождения согласуем и оцениваем заранее.
| Формат | Цена | Что входит |
|---|---|---|
| Аудит кластера | от 10 000 ₽ | версии, ресурсы, доступы, деплой, мониторинг, бэкапы; отчёт с планом |
| Сопровождение | 20 000 ₽/мес | наблюдение за алертами и нодами, планирование обновлений, реакция на сбои |
| Разовые работы | 3 000 ₽/час | обновление версии, мониторинг, перенос сервисов в кластер |
Примеры расчёта
| Задача | Оценка |
|---|---|
| Обновление кластера на одну минорную версию | 2-6 часов |
| Мониторинг и алерты для кластера и приложений | 4-8 часов |
| Перенос сервисов из Docker Compose в кластер | от 10 часов |
| Настройка деплоя через ArgoCD | 4-8 часов |
Этапы работы
- 1
Доступ на чтение
Начинаю с kubeconfig только на чтение: посмотреть кластер можно, ничего не сломав.
- 2
Карта кластера
Версии, ноды, нагрузка, что и как деплоится, где хранятся секреты и данные.
- 3
Риски
Отмечаю, что сломается первым: устаревшие API, поды без лимитов, отсутствие бэкапов.
- 4
План работ
Предлагаю порядок работ. Иногда это переезд на K3s или Docker Compose вместо ремонта кластера.
- 5
Сопровождение
Если нужно, остаюсь на поддержке: обновления по графику, алерты, помощь команде с деплоем.
С какими проблемами приходят
Кластер достался от прежнего DevOps
Документации нет, версия давно не поддерживается, и никто не знает, что сломается при обновлении.
Поды перезапускаются, причину никто не ищет
OOMKilled, CrashLoopBackOff, ноды под нагрузкой. Обычно это лимиты и пробы, а не «Kubernetes глючит».
Кластер стоит дороже, чем должен
Ноды загружены на 15%, тестовые окружения работают круглосуточно, балансировщиков больше, чем сервисов.
Выкладка вручную
Релизы идут через kubectl apply с ноутбука, и повторить вчерашний деплой никто не может.
Нужен ли вам Kubernetes
Kubernetes решает реальные задачи, но стоит денег и времени на сопровождение. Короткая проверка:
| Подходит, если | Скорее не нужен, если |
|---|---|
| больше 5-10 сервисов и несколько окружений | 1-3 сервиса на одном-двух серверах |
| нагрузка меняется и нужно автомасштабирование | нагрузка стабильная и предсказуемая |
| важно выкатывать обновления без простоя | короткий простой при релизе допустим |
| в команде есть кто-то, кто будет с ним работать | некому сопровождать кластер |
В MomsLab переход с полного K8s на K3s сократил бюджет на инфраструктуру на 40%.
Kubernetes, K3s или Docker Compose
Три варианта, между которыми обычно выбирают небольшие команды:
| Kubernetes | K3s | Docker Compose | |
|---|---|---|---|
| Для чего | много сервисов, рост, облако | то же, но 1-5 нод и меньше ресурсов | несколько сервисов на одном сервере |
| Сложность | высокая | средняя | низкая |
| Совместимость | стандарт | тот же API, те же Helm-чарты | свой формат, без кластера |
| Экосистема | вся | почти вся | только Docker |
Переход между Kubernetes и K3s почти бесшовный: манифесты и чарты те же. Из Compose в Kubernetes сервисы придётся описать заново: манифесты или Helm-чарты.
Технологии
- Кластеры
- Managed KubernetesK3skubeadmAWS EKS
- Инструменты
- kubectlk9s
- Деплой
- HelmArgoCDGitLab CIGitHub Actions
- Мониторинг
- PrometheusGrafanaLokiVictoriaMetrics
- Безопасность
- RBACNetworkPolicyTrivyVault
- Инфраструктура
- TerraformAnsibleYandex CloudSelectel
Примеры работ
Приложение для мам: с K8s на K3s
Небольшой проект работал на полноценном Kubernetes, и инфраструктура стоила больше, чем требовал его масштаб.
Перевёл сервисы на K3s с теми же Helm-чартами и пайплайнами GitLab, поставил отказоустойчивый вход с переключением по DNS, настроил метрики, логи и бэкапы с проверкой восстановления.
Автономные тракторы: кластер для IoT
Для флота автономных тракторов нужна была платформа управления, видео с машин в реальном времени через GSM и защищённая сеть на поле.
Развернул кластер в AWS EKS с выкладкой через ArgoCD, изолировал сеть тракторов через WireGuard и взаимную TLS-аутентификацию.
Почему со мной удобно
Сертифицированный администратор
CKA от The Linux Foundation: экзамен сдаётся на живом кластере, а не тестом.
Не продаю Kubernetes
Если проекту хватит K3s или Docker Compose, скажу об этом на аудите.
Плата за дело, а не за штат
Сопровождение одного кластера не должно стоить как зарплата инженера.
Всё в Git
Конфигурация кластера и сервисов хранится в коде у вас. Её подхватит любой инженер.
Частые вопросы
Чем Kubernetes отличается от Docker? +
Docker упаковывает приложение в контейнер и запускает его на одном сервере. Kubernetes управляет контейнерами на многих серверах: перезапускает упавшие, распределяет нагрузку, обновляет без простоя. Образы остаются те же.
Managed Kubernetes или on-premise? +
Небольшим командам обычно лучше Managed (Yandex Cloud, Selectel): провайдер обслуживает управляющую часть кластера. Кластер on-premise на K3s или kubeadm дешевле на выделенных серверах и нужен, если данные должны оставаться в своём контуре, но требует больше внимания.
Как часто нужно обновлять Kubernetes? +
Новая минорная версия выходит примерно раз в 4 месяца, каждая поддерживается около 14 месяцев. Без обновлений кластер за год выпадает из поддержки, а в облаках провайдер начинает обновлять его принудительно.
Сколько стоит поддержка Kubernetes? +
Сопровождение стоит 20 000 ₽ в месяц: алерты, состояние нод, планирование обновлений и реакция на сбои. Задачи сверх этого считаются по 3 000 ₽/час. Аудит кластера стоит от 10 000 ₽.
Что такое K3s и подойдёт ли он нам? +
K3s - облегчённый Kubernetes с тем же API: те же манифесты и Helm-чарты, но меньше требований к ресурсам и проще обслуживание. Хорошо подходит для 1-5 нод и ограниченного бюджета.
Какой доступ вам нужен? +
Для аудита хватает kubeconfig с правами только на чтение. Для работ нужен доступ администратора кластера, его можно выдать на время и отозвать.
Оставить заявку
Напишите, где работает кластер, сколько в нём нод и сервисов и что беспокоит. Скажу, с чего начать и нужен ли вам вообще Kubernetes.