
Статья подготовлена совместно с экспертом
Станислав Погоржельский, технологический евангелист VK Cloud&Data

Managed Kubernetes от VK Cloud по-разному распределяет работу с кластером между платформой и командой. Само слово «управляемый» ничего не говорит о том, сколько обязанностей остаётся у пользователя: в сервисе есть два поколения кластеров, и различие между ними определяется местонахождением системных компонентов.
В кластерах первого поколения все компоненты размещаются в пользовательском проекте, включая системные. Во втором поколении системный слой вынесен в сервисный проект VK Cloud, и это меняет границу ответственности. Команда по-прежнему отвечает за приложения и данные, а системную инфраструктуру обслуживает VK Cloud. В документации этот сервис пока называется Cloud Containers, и по этому названию можно найти разделы о кластерах второго поколения, их архитектуре и доступных функциях.

Станислав Погоржельский, технологический евангелист VK Cloud&Data
Поколение кластера определяет, в чьём проекте находятся его компоненты и кто отвечает за их работоспособность. От этого зависят доступные аддоны, инструменты управления и состав встроенных сервисов.
Развёртывание и автоматическое масштабирование кластеров первого поколения автоматизирует Magnum — инструмент OpenStack для оркестрации контейнеров.
Кластеры размещаются в пользовательских проектах. Пользователь получает доступ ко всем компонентам кластера, включая системные.
Полный доступ требует самостоятельного обслуживания кластера и увеличивает риск сбоев из-за ошибок в инфраструктурных настройках. При этом документация VK Cloud формулирует границы доступа неоднозначно: раздел об архитектуре сервиса указывает, что управление master-узлами недоступно пользователю, но не разделяет это ограничение по поколениям.
Компоненты кластеров второго поколения находятся в сервисных проектах. Сервисный проект — изолированная среда, в которой пользователю недоступно управление системными компонентами кластера.
Для каждого кластера второго поколения в сервисном проекте создаются master-узлы, на которых запускается системный кластер. Пользовательский кластер разворачивается внутри этого системного кластера и подключается по сети к пользовательскому проекту.
Ресурсы распределяются между проектами так:
Снаружи кластер второго поколения остаётся обычным Kubernetes-кластером: работают kubectl и Kubernetes API. Terraform в этот список не входит. Документация VK Cloud относит управление через Terraform только к кластерам первого поколения и повторяет это ограничение в нескольких разделах.
Это первое заметное ограничение при переходе. Остальные различия собраны в таблице ниже.

VK Cloud управляет системными компонентами кластеров второго поколения, а также их master- и worker-узлами. Преимущества второго поколения:
Границы ответственности таковы:
Кластер сохраняет работоспособность, пока доступно более половины master-узлов. Топология из трёх или пяти узлов с распределением по зонам доступности повышает устойчивость к сбоям, но не означает стопроцентную доступность.
Изоляция сервисного проекта закрывает доступ к системным компонентам, но не защищает кластер от всех ошибок.
Порты и стандартные балансировщики остаются в пользовательском проекте. Документация отдельно предупреждает, что любые действия с портами могут привести к нестабильной работе кластера.
Для каждого кластера создаются три группы правил безопасности с суффиксами -base, -master и -minion. Их изменение также может привести к неработоспособности кластера.
Разграничение ответственности описано и в разделе о CIS-бенчмарке: платформа обеспечивает защиту master-узлов, а пользовательские настройки кластера остаются в зоне ответственности команды.
Второе поколение защищает системный слой от удаления или изменения инфраструктурных объектов, но не делает кластер неуязвимым. Документация не уточняет, ограничен ли доступ к системным пространствам имён Kubernetes изнутри кластера. Сетевые объекты в пользовательском проекте по-прежнему требуют аккуратного разграничения прав.
Для кластеров второго поколения включена интеграция с сервисом мониторинга VK Cloud. Отключить её нельзя, а сам мониторинг не тарифицируется.
Политика аудита также преднастроена: события Kubernetes API записываются в Cloud Audit, изменить эту политику нельзя. Для задач комплаенса это упрощает сбор журналов, но командам со своей политикой аудита придётся учитывать ограничение.
Встроенный мониторинг не заменяет собственный стек метрик. Аддон Kube Prometheus Stack устанавливает и обновляет пользователь. Ограничений по поколениям для него документация не указывает.
Платформа берёт на себя базовую наблюдаемость и журнал аудита, но сбор прикладных метрик, настройка алертов и поддержка собственного Prometheus-стека остаются задачами команды.
Управлять созданными постоянными томами через личный кабинет VK Cloud можно только в кластерах второго поколения: Кластеры Kubernetes → Диски PV.
Тома находятся в сервисном проекте, которым управляет платформа. Если кластер нужно удалить или перенести, PV можно переместить из сервисного проекта в пользовательский, чтобы сохранить доступ к данным.
У переноса есть два ограничения:
Постоянные тома тарифицируются только для кластеров второго поколения.
Второе поколение — не прямой апгрейд первого, а другая модель работы. Оно добавляет Cilium, мультизональные классы хранения, управление PV через личный кабинет и пять аддонов, которых нет в первом поколении. Взамен недоступны Terraform, Kubernetes Dashboard и четыре аддона первого поколения.
| Параметр | Первое поколение | Второе поколение |
| Размещение компонентов кластера | Пользовательский проект | Сервисный проект платформы, кластер запускается в системном кластере |
| Доступ к системным компонентам | Полный, включая системные компоненты | Закрыт, системным слоем управляет VK Cloud |
| Оркестрация развёртывания и автомасштабирования | Magnum, инструмент OpenStack | В документации не указана |
| Управление через Terraform | Доступно | Не документировано, относится только к первому поколению |
| Kubernetes Dashboard | Доступен | Недоступен |
| Встроенный мониторинг и политика аудита | Мониторинг подключается пользовательским аддоном, политика аудита для первого поколения не описана | Интеграция с мониторингом и политика аудита включены, отключить или изменить их нельзя |
| Аддоны только этого поколения | Capsule, Fluent Bit, Kiali, VPA | Argo CD, CSI для S3, External Secrets Operator, Kgateway, Velero |
Сертификат Certified Kubernetes — Hosted от CNCF документация относит к дистрибутиву Kubernetes от VK Cloud в целом, без разбивки по поколениям. Доступность аддонов также зависит от региона, в котором развёрнут кластер.

Cilium, встроенный мониторинг и аудит, мультизональные классы хранения — системный слой обслуживает VK Cloud
Переход стоит планировать как создание нового кластера рядом со старым и перенос нагрузки между ними. Архитектуры различаются местом размещения компонентов, поэтому прямой конверсии кластера ожидать не стоит.
Проверять нужно не только список Deployment, но и совместимость API.
Опрос API-сервера не всегда поможет: объект, созданный как deployments.v1beta1.extensions, API может вернуть уже в виде apps/v1. Устаревшие apiVersion нужно искать в репозиториях с манифестами и в Helm-релизах. Для этого можно использовать, например, Pluto.
В инвентаризацию также стоит включить:
Именно такие зависимости часто обнаруживаются уже во время переключения, когда менять план поздно.
Для создания кластера второго поколения в проекте должна быть подключена SDN Sprut. Если она не подключена, нужно обратиться в техническую поддержку.
Если приложения разворачиваются через Argo CD, целевой кластер задаётся полем spec.destination. В этом случае запуск окружения рядом сводится к смене destination для нужного приложения.
Арго CD доступен только в кластерах второго поколения. В первом поколении такого аддона нет.
Git не перенесёт автоматически:
Эти объекты либо не хранятся в репозитории с манифестами, либо требуют отдельной подготовки на целевом кластере. Секреты можно создавать через Sealed Secrets, External Secrets Operator или Secrets Store CSI Driver.
Сервисы без состояния разворачивают в новом кластере и проверяют на тестовом трафике, пока старый продолжает обслуживать боевую нагрузку.
Это сравнительно простая часть миграции. Она помогает обнаружить недостающие зависимости: всё, что не переехало с первого прохода, нужно добавить в план.
Аддон Velero доступен только во втором поколении, но не поддерживает резервное копирование постоянных томов.
Для PV остаётся штатный сценарий: перенести том из сервисного проекта в пользовательский с учётом двух ограничений — диск должен быть отвязан от группы узлов, а обратный перенос невозможен.
Для баз данных нужно отдельно оценить каждый путь миграции. Бэкап кластера в Velero не атомарен, а File System Backup читает работающую файловую систему и не гарантирует единую точку во времени.
Для СУБД проект Velero рекомендует pre- и post-хуки, которые помогают зафиксировать согласованное состояние на время создания копии.
Логическая репликация PostgreSQL сокращает простой, но не переносит:
После переключения значения последовательностей нужно обновить отдельно. Иначе первая же вставка может завершиться конфликтом ключей.
Перед удалением старого кластера переведите критичные тома на политику освобождения Retain.
Динамически созданные тома наследуют политику класса хранения. По умолчанию это Delete: при удалении PV удаляется и облачный диск. Политика Retain сохраняет том и данные, но PV получает статус Released.
Трафик лучше переключать через балансировщик. DNS стоит использовать как дополнительный механизм, а не как единственный способ переключения: часть резолверов может хранить записи дольше указанного TTL. Короткий TTL помогает уменьшить время распространения изменений, но не гарантирует его.
VK Cloud не публикует оценок сроков миграции. На практике объём работ зависит прежде всего от stateful-слоя.
Если базы данных работают в управляемых СУБД вне кластера, переезд может уложиться в один рабочий цикл. Если базы и очереди находятся внутри Kubernetes, сроки нужно оценивать по каждому хранилищу отдельно.
Начинать лучше с dev-окружений. Там можно проверить переключение без риска для боевой нагрузки и найти зависимости от старой инфраструктуры.
Выбор поколения — это выбор границы ответственности, а не версии сервиса.
Во втором поколении VK Cloud обслуживает системный слой в сервисном проекте, включает мониторинг и неизменяемую политику аудита, предоставляет Cilium, мультизональные классы хранения и отдельный набор аддонов. Взамен становятся недоступны Terraform, Kubernetes Dashboard и аддоны первого поколения, а GPU и vGPU в тарификации отнесены к первому поколению.
Перед переходом стоит проверить кластер в двух плоскостях: сначала инструменты и способ управления, затем данные. Первый список обычно небольшой, а второй определяет сроки, риски и порядок всей миграции.
Оба поколения совместимы со стандартным Kubernetes API, поэтому сами манифесты обычно переносятся без изменений.
Проверить нужно версии API-объектов. Если старый кластер давно не обновлялся, часть apiVersion может отсутствовать в актуальной версии Kubernetes. Проверку стоит выполнять по репозиториям с манифестами и Helm-релизам.
Отдельно проверьте версию Kubernetes. В сервисе она поддерживается 14 месяцев с даты релиза версии в VK Cloud, а понижать версию кластера нельзя.
Основные инструменты — встроенный мониторинг на базе сервиса мониторинга VK Cloud и Cloud Audit, куда записываются события Kubernetes API.
Собственный стек метрик можно развернуть через Kube Prometheus Stack. Документация не указывает ограничений по поколениям для этого аддона.
Kubernetes Dashboard доступен только в кластерах первого поколения. Этот инструмент нужно заменить доступом через kubectl, мониторингом, журналами и собственными средствами наблюдаемости.
Stateless-сервисы обычно переносятся быстро: их разворачивают в новом кластере и проверяют на тестовом трафике. Основное время уходит на stateful-нагрузку и согласование окна переключения.
Оценивать миграцию стоит по количеству баз данных, очередей, томов и связанных внешних систем, а не по числу Deployment.
Наши специалисты свяжутся с вами в ближайшее время и ответят на все вопросы.

Будем держать в курсе новостей и облачных трендов




