NIXadmin
Kubernetes · MKS vs self-hosted · 2026

Managed Kubernetes MKS Selectel против самостоятельного K8s: TCO, ops-нагрузка и границы

Три worker-ноды, три мастера, etcd, кворум, upgrade раз в 4 месяца, бэкапы, CNI, CSI, LoadBalancer — и всё это до того, как вы запустили первый Pod с бизнес-логикой. MKS Selectel закрывает control plane, etcd и апгрейды мастеров бесплатно: вы платите только за worker-ноды. Разбираем честно, где managed выигрывает у self-hosted, а где — нет.

Мы, NIXadmin, партнёр Selectel и получаем реферальную комиссию. Цифры даём максимально честно, но всегда советуем сверять TCO под свой профиль.

Control plane MKS
0 ₽/мес
Экономия FTE
~1.5 млн ₽/год
SLA control plane
99.95%
Time-to-cluster
~15 минут

Реферальный оффер

До 1 000 000 ₽ бонусов от Selectel + −10% от NIXadmin

  • Бонусы новым клиентам Selectel по нашей реф-ссылке
  • −10% на сопровождение инфраструктуры от NIXadmin
  • Бесплатная миграция self-hosted → MKS при бюджете ≥100 000 ₽/мес
  • Помощь с GitOps, HA-архитектурой, disaster recovery
Активировать бонус →

Ссылка помечена rel="sponsored". Мы получаем реферальную комиссию, она никак не влияет на цены и условия Selectel для вас.

Позиционирование

Что такое MKS и в чём принципиальная разница с self-hosted

MKS Selectel — это Managed Kubernetes, где control plane (kube-apiserver, etcd, scheduler, controller-manager) поднимает и поддерживает Selectel, а вы получаете kubeconfig и работаете с кластером как обычно: kubectl apply, Helm, ArgoCD.

Self-hosted — это когда вы сами разворачиваете K8s на арендованных VM или физических серверах через kubeadm, k3s или rke2. Даёт больше контроля, но забирает всё время инженеров на operations.

NIXadmin — партнёр Selectel и получает реферальную комиссию. Мы делаем оба типа проектов и в этом разборе не тянем читателя однобоко.

MKS Selectel
  • Бесплатный HA control plane (3 master + etcd)
  • K8s 1.28 / 1.29 / 1.30, поддержка ~14 мес
  • Calico CNI из коробки, NetworkPolicy штатно
  • CSI Selectel: block basic/universal/fast
  • Cloud Controller Manager: type=LoadBalancer
  • Автоматические патч-апгрейды в maintenance window
  • Cluster autoscaler для node pools
  • GPU node pools (Nvidia A100/A2/T4)
Self-hosted (kubeadm/k3s/rke2)
  • Полный контроль: любые флаги apiserver/kubelet
  • Alpha feature gates, кастомный scheduler
  • Свой CNI (Cilium, Calico, Weave)
  • Air-gapped кластер, любые ОС на нодах
  • Свои etcd-настройки, свой backup pipeline
  • Вы платите за 3 master-VM отдельно
  • Upgrade K8s minor — 40-80 часов инженера
  • On-call за control plane 24/7 на вас

Ключевой тезис

Для команды до 15 инженеров без выделенного SRE MKS Selectel почти всегда выигрывает по TCO — экономия ~1.5 млн ₽/год идёт не за счёт железа (worker-ноды вы платите в обоих случаях), а за счёт FTE-времени, которое DevOps тратит на etcd, upgrade, patching и инциденты. Self-hosted оправдан при жёстких регуляторных требованиях (КИИ 1, гостайна), потребности в alpha-фичах K8s или когда есть SRE-команда 3+ человек с амортизированным железом.

TCO кластера

Стоимость по строкам: 3 master + 3 worker (4vCPU/8GB), PVC 500GB, LB, мониторинг

Все цифры — ориентировочные для июля 2026, средний по СПб/Москве Selectel. Считаем месячные затраты плюс аллокацию FTE — именно она определяет реальную разницу.

Категория MKS Selectel Self-hosted (kubeadm) Комментарий
Managed control plane
3 master + etcd
0 ₽/мес ~18 000 ₽/мес (3 VM × 2vCPU/4GB) MKS: HA из коробки, etcd бэкапит Selectel. DIY: минимум 3 VM для кворума etcd, иначе split-brain.
Worker nodes
3× 4vCPU/8GB
~21 600 ₽/мес ~21 600 ₽/мес Паритет. Worker вы платите в обоих случаях. Разница появляется только на своём железе (capex).
Storage
PVC 500GB SSD
~4 500 ₽/мес ~4 500 ₽/мес + время на Longhorn MKS: StorageClass готов, PVC мгновенно. DIY: Longhorn ставится за день, но требует внимания при node failure.
LoadBalancer / Ingress ~1 500 ₽/мес ~1 500 ₽/мес или MetalLB + BGP MKS: type=LoadBalancer создаёт Selectel L4 LB. DIY: либо LB, либо MetalLB (BGP или L2 одна подсеть).
cert-manager + LE 0 ₽ 0 ₽ Паритет — это ваш workload в обоих случаях.
Prometheus + Grafana ~3 500 ₽/мес ~3 500 ₽/мес + алерты control plane В MKS не нужно алертить etcd/apiserver. В DIY добавляются etcd lag, apiserver latency, kubelet health.
Loki + Promtail ~2 500 ₽/мес ~2 500 ₽/мес + логи master nodes В MKS логи control plane доступны через API. В DIY надо собирать journald с мастеров самостоятельно.
Бэкап etcd 0 ₽ (делает Selectel) ~500 ₽ S3 + скрипт + мониторинг Критично! Потеря etcd без бэкапа = потеря всего кластера. Самый частый провал у DIY-команд <15 инженеров.
Upgrade K8s
3 minor за 3 года
~4 ч инженера на upgrade ~40-80 ч инженера на upgrade K8s релизит minor каждые 4 мес, поддержка 14 мес. В MKS Selectel катит upgrade masters сам, вы только workers дренируете.
DevOps FTE
аллокация времени
15-20% FTE (~40-60 тыс ₽) 50-70% FTE (~150-200 тыс ₽) Главная разница. Self-hosted съедает 3-4 дня в неделю у middle-инженера: patching, backup verify, upgrade planning, инциденты.
ИТОГО TCO / мес ~74 000 ₽ ~200 000 ₽ Разница ~126 000 ₽/мес = ~1.5 млн ₽/год

Все цены помечены «~» — ориентировочные, зависят от региона, тарифа диска и запрошенных ресурсов. Актуальные в панели Selectel.

Проверка на практике

Готовы посчитать TCO вашего кластера или сразу поднять MKS?

Реф-ссылка ниже даёт бонус до 1 000 000 ₽ новым клиентам Selectel и −10% на сопровождение от NIXadmin.

Открыть Selectel →

Ops-нагрузка

Кто отвечает за что: разбор границы ответственности

В managed-кластере граница чётко проведена. В self-hosted всё на вас. Это ключевая практическая разница — не цена, а объём работы.

S

Selectel делает в MKS

  • kube-apiserver (HA из 3 инстансов за внутренним LB)
  • etcd: кворум + автоматические снапшоты в S3 Selectel + восстановление
  • kube-scheduler, kube-controller-manager
  • Cloud Controller Manager с интеграцией в Selectel API
  • Апгрейды minor K8s: сначала мастера, потом команда на node pool
  • Патчи — автоматически в вашем maintenance window
  • Замена вышедших из строя master-инстансов
  • Мониторинг здоровья control plane, SLA 99.95%
  • CSI под block storage (basic/universal/fast)
  • type=LoadBalancer → Selectel L4 LB
В

Вы в MKS

  • Workload: Deployment, StatefulSet, DaemonSet
  • RBAC-правила и ServiceAccount
  • NetworkPolicy для изоляции namespace
  • Secrets rotation (ExternalSecrets/Vault/SOPS)
  • Ingress-контроллер (nginx/traefik/istio) и его конфиги
  • cert-manager для TLS
  • Мониторинг workload: Prometheus, Grafana, Loki
  • HPA/VPA конфиги, PodDisruptionBudget
  • Резервное копирование PVC (Velero, pg_dump)
  • Инцидент-респонс для ваших сервисов
  • Capacity planning worker node pools
D

В self-hosted — всё это + control plane

  • Поднять и держать 3 master-VM (kubeadm init/join, patching)
  • etcd cluster: кворум, снапшоты через etcdctl, верификация восстановления
  • Disaster recovery план и его тестирование
  • Апгрейды K8s: kubeadm upgrade plan/apply на каждый мастер
  • Rolling upgrade каждого worker с drain/uncordon
  • Ротация сертификатов apiserver/etcd (год по умолчанию)
  • CNI с нуля: Calico/Cilium с BGP или VXLAN overhead
  • CSI: Longhorn/OpenEBS с capacity planning и failure-домены
  • MetalLB или свой LB под type=LoadBalancer
  • Алерты etcd lag / apiserver latency / kubelet health
  • On-call за control plane 24/7

Когда MKS лучше

  • Команда 1-15 инженеров без выделенного SRE

    Микросервисы, веб-приложения, API-бэкенды, воркеры, cron-jobs, ML-инференс на GPU. Все стандартные paradigms, никакой экзотики.

  • Compliance до УЗ-2 152-ФЗ, PCI DSS SAQ D, ISO 27001

    Selectel закрывает инфраструктуру своими аттестациями, вы аттестуете только свой сегмент по 17-му приказу ФСТЭК.

  • Нужен быстрый time-to-production

    Первый рабочий кластер за ~15 минут в панели или через Terraform. Не неделя на разворачивание kubeadm с нуля.

  • Инженерное время дороже облачного тарифа

    DevOps должен собирать бизнес-фичи, а не бэкапить etcd в 4 утра и планировать upgrade K8s раз в квартал.

  • Планируете horizontal scaling

    Cluster autoscaler и autoscaling node pools из коробки. Не нужно писать свой контроллер, который добавляет VM в кластер по метрикам.

  • Opex-модель, не capex

    Не хотите замораживать деньги на 5 лет вперёд в железо. Хотите платить по факту потребления.

Когда self-hosted честно оправдан

  • Air-gapped кластер по требованию регуляторки

    КИИ 1-й категории, гостайна, ФСБ-аттестация, отраслевые требования Минобороны/Росатома — когда физически нельзя, чтобы control plane был в чужой зоне ответственности.

  • Alpha feature gates или кастомные kubelet-флаги

    Редкий случай — обычно ML/HPC-кластеры с exotic scheduling: топология NUMA, huge pages нестандартных размеров, RDMA-сетка, гибридные accelerators.

  • Свой datacenter + амортизированное железо + SRE 3+ FTE

    Когда у вас уже стоят стойки, куплено на 5 лет вперёд, и есть команда, для которой K8s ops — основная работа. Тогда capex-модель обгоняет opex по бухгалтерии.

  • Экстремально плотные или экзотические ноды

    >256GB RAM, специфичные NIC, кастомный BIOS, нестандартные ОС — того, чего нет в линейке Selectel.

Честные ограничения MKS

Чего нельзя в MKS Selectel (и почему это чаще всего не важно)

Managed — это компромисс: удобство в обмен на часть контроля. Разбираем, где именно проходит эта граница, чтобы вы принимали решение осознанно.

× Кастомные флаги apiserver/kubelet

Управляются Selectel по шаблону. Alpha feature gates недоступны. Для 95% продовых кейсов это не проявляется вообще.

× Замена стандартного kube-scheduler

Volcano, Yunikorn можно поставить как secondary scheduler и указать schedulerName в подах. Заменить дефолтный — нельзя.

× Экспериментальные API

Alpha-фичи типа DRA (Dynamic Resource Allocation), некоторые новые networking-фичи — только когда Selectel их промоут в шаблон.

× Свой CNI вместо Calico

Технически можно снести и поставить Cilium/Weave, но выйдете за поддержку MKS. Cilium в hubble-mode поверх Calico — работает как overlay.

× Прямой доступ к etcd

etcdctl напрямую не работает — только через kube-apiserver. Backup etcd делает Selectel, вы не участвуете.

× Модификация системных namespaces

Часть DaemonSet и Deployment в kube-system управляется Selectel и перезаписывается при апгрейдах.

× Свой container runtime

containerd по умолчанию. gVisor или Kata — только через RuntimeClass поверх, не заменой основного.

× Кастомная ОС на нодах

Только Ubuntu из шаблона Selectel. Talos, Flatcar, Bottlerocket — не поддерживаются в MKS.

Что работает штатно

Любые validating/mutating admission webhooks (Kyverno, OPA Gatekeeper), CRD, operators (Prometheus Operator, cert-manager, ArgoCD, Flux, Strimzi Kafka, Postgres Operator), HPA/VPA, Cluster Autoscaler, GPU через device plugin, всё что живёт как workload — работает, поддерживается, обновляется вами штатно.

Playbook миграции

Как перевезти self-hosted кластер в MKS без даунтайма

Стандартный zero-downtime переезд занимает 2-4 недели. Паттерн — parallel cluster + GitOps + постепенное переключение трафика.

1

Неделя 1: подготовка

  • Инвентаризация: namespace, workload, PVC, secrets, CRD, ingress-правила, DNS-записи
  • Приведение к GitOps: манифесты в git, Argo CD или Flux
  • Terraform-модуль под MKS-кластер (managed_kubernetes_cluster + node_group)
  • Staging-прогон миграции на тестовом контуре
2

Неделя 2: parallel cluster

  • Поднимаете MKS той же K8s версии что и старый
  • Argo CD натравливаете на тот же git-репозиторий
  • Приложения деплоятся в оба кластера одновременно
  • Репликация БД: PostgreSQL logical, MySQL GTID, MongoDB replica set, Kafka MirrorMaker 2
3

Неделя 3: переключение трафика

  • Health-check с обеих сторон
  • DNS weighted routing или ingress-canary: 10% на MKS 1-2 дня
  • Смотрите метрики → 50% → 100%
  • Feature flag на клиенте для быстрого отката критичных API
4

Неделя 4: стабилизация

  • Старый кластер как read-only fallback 7-14 дней
  • Если инцидентов нет — гасите master и worker
  • Terraform destroy на старом кластере
  • Постмортем миграции, документация нового контура

Промежуточные точки безопасности

Velero-бэкапы перед каждой фазой (dump всего кластера в S3), документированный rollback-plan (шаги отката за 15 минут), staging-прогон миграции за неделю до прода на копии данных. Vendor lock-in касается только ~10-20 строк CSI/CCM аннотаций (тип диска, LB-настройки) — при переезде на MKS они меняются под Selectel-CSI, при обратной миграции — под старый.

Готовы к разбору

Возьмём вашу K8s-архитектуру и посчитаем миграцию

30-минутный звонок, диаграмма as-is / to-be, оценка сроков и рисков.

Активировать бонус Selectel →

FAQ

Частые вопросы

Ответы на вопросы, которые задают чаще всего при выборе между MKS Selectel и самостоятельным K8s. Если чего-то не хватает — напишите на [email protected].

Правда ли, что control plane в MKS Selectel бесплатный?

+

Да. Selectel берёт деньги только за worker nodes (CPU/RAM/диск как обычные облачные серверы) и за исходящий трафик/LoadBalancer. Master-ноды (apiserver, etcd, scheduler, controller-manager) и их HA-конфигурация из 3 инстансов — на стороне провайдера и не тарифицируются. Это одно из ключевых отличий от Yandex Cloud, где control plane платный (~2 800 ₽/мес за базовый, ~11 000 ₽/мес за HA). Проверить и активировать бонус до 1 000 000 ₽ — selectel.ru/?ref_code=d70bc7c26a.

Какие версии Kubernetes поддерживает MKS Selectel в 2026?

+

На июль 2026 доступны 1.28, 1.29, 1.30 (Selectel даёт окно ~14 месяцев поддержки, синхронно с upstream K8s). Апгрейды выкатываются через панель или Terraform-провайдер — Selectel сначала обновляет control plane, потом даёт вам команду на rolling-update worker-групп. Патч-версии катятся автоматически в maintenance window, который вы задаёте.

Можно ли в MKS ставить кастомные admission webhooks и operators?

+

Да, любые validating/mutating webhooks (Kyverno, OPA Gatekeeper), CRD, operators (Prometheus Operator, cert-manager, ArgoCD, Flux, Strimzi Kafka и т.д.) работают штатно — это ваш workload. Ограничения касаются только вмешательства в сам control plane: нельзя менять флаги kube-apiserver/kubelet, ставить свой scheduler заменой стандартного, включать alpha-фичи и feature gates, которых нет в шаблоне Selectel.

Что делать, если нужен GPU или большие ноды?

+

MKS Selectel поддерживает worker-группы с GPU (Nvidia A100, A2, T4) и высокоплотные конфигурации до ~64 vCPU/256 GB на ноду. GPU-ноды подключаются как отдельный node pool с taint nvidia.com/gpu, драйвер + device plugin ставится через DaemonSet. Проверьте актуальный список в панели — линейка обновляется.

Как быть с приватностью данных и 152-ФЗ?

+

Все ЦОД Selectel — в РФ (Москва, Санкт-Петербург, Ленобласть), у провайдера аттестация УЗ-1 по 152-ФЗ и сертификация PCI DSS. Для К3-К4 классов ПДн MKS подходит без дополнительных согласований. Для К1-К2 и КИИ нужна аттестация вашей ИС по 17-му приказу ФСТЭК — Selectel даёт документы на инфраструктуру, вы аттестуете свой сегмент. Self-hosted на своём железе тут не даёт преимущества — комплаенс всё равно на вас.

Что происходит при инциденте у Selectel — как я узнаю и что смогу сделать?

+

SLA MKS — 99.95% на control plane. Инциденты публикуются на status.selectel.ru, критичные — на почту и в панель. Если apiserver недоступен, ваши workload продолжают работать (kubelet выполняет то, что уже задеплоено), но kubectl и autoscaling временно не работают. Восстановление control plane — забота Selectel, вы к этому не подключены. Для критичных workload — держите multi-region: второй кластер в другом ЦОД + Argo CD/Flux sync.

Когда self-hosted K8s реально оправдан в 2026?

+

Три сценария: (1) вам нужны alpha feature gates или кастомные kubelet-флаги (редко, обычно для ML/HPC-нагрузок); (2) регуляторка требует air-gapped кластер на вашем железе в вашей серверной без внешнего провайдера (КИИ 1-й категории, гостайна); (3) вы уже держите СХД/железо на 5+ лет вперёд, есть SRE-команда 3+ человек, и capex модель дешевле opex. Во всех остальных случаях managed выигрывает по TCO.

Как перенести существующий self-hosted кластер в MKS без даунтайма?

+

Стандартный паттерн — parallel cluster + GitOps. Поднимаете MKS рядом, ставите ArgoCD/Flux, натравливаете на тот же git-репозиторий с манифестами. Приложения деплоятся параллельно в оба кластера. Реплицируете БД (PostgreSQL logical replication, MySQL binlog, MongoDB replica set с новым secondary). Переключаете DNS/L7 постепенно (10% → 50% → 100%) через weighted routing. Старый кластер держите 1-2 недели как fallback, потом гасите. Типичный проект — 2-4 недели работы. Хотите обсудить конкретный кейс? — [email protected].

Что с сетью между namespaces и NetworkPolicy?

+

MKS Selectel использует Calico как CNI по умолчанию — NetworkPolicy работают штатно, включая egress-правила и named ports. Для более сложных сценариев (L7-policy, egress через identity) можно поверх поставить Cilium в hubble-mode как дополнительный слой, но базовые кейсы (изоляция namespace, allow только из ingress-nginx) закрываются стандартным Calico.

А если у Selectel вырастут цены или закроется MKS — я не залочен?

+

Нет. Kubernetes — это стандарт: манифесты, Helm-чарты, CRD переносятся в любой другой managed K8s (Yandex, VK Cloud, Cloud.ru, Timeweb) или self-hosted за 1-3 недели через тот же parallel-cluster паттерн. Vendor lock-in касается только специфичных CSI/CCM аннотаций (тип диска Selectel, LB-настройки) — это ~10-20 строк в манифестах, меняются под новый CSI. Данные лежат в PVC — экспортируются через velero backup или dd/pg_dump.

Готовы попробовать MKS Selectel?

Активируйте бонус до 1 000 000 ₽ для новых клиентов и получите −10% на сопровождение от NIXadmin. Миграция self-hosted → MKS при бюджете ≥100 000 ₽/мес — бесплатно.