В последнее время занимаюсь исследованием k8s. Меня немного смущает идея самоуправления кластером k8s в облаке. Я читал о людях, делающих это, но все же не уверен, каковы преимущества в цене, если вы уже запускаете службы на виртуальных машинах в облаке.
GKE заставляет вас платить только за свои узлы и он управляет вашими главными узлами из коробки.
Есть ли какие-то скрытые затраты на управляемые кластеры, которые не упомянуты? Будете ли вы самостоятельно управлять своим кластером, если у вас уже есть сервисы в облаке, и, скорее всего, вы заплатите столько же, если перенесете их в k8s?
Я знаю, что это действительно зависит от ваших услуг и потребностей, но давайте представим самое простое приложение CRUD - 1 серверная часть без сохранения состояния, на которой работает несколько реплик, 1 база данных с отслеживанием состояния, на которой работает одна реплика для целей высокой доступности, 1 брокер сообщений и несколько рабочих экземпляров для фоновой обработки. У вас нет компьютеров с нуля, вы уже работаете в облаке на базовых виртуальных машинах без контейнеров. Будет ли какая-то веская причина для перехода на самоуправляемый кластер k8s по цене?
Используя самоуправляемый кластер Kubernetes, вы получаете много плюсов и минусов.
Как профессионал, в самоуправляемом кластере Kubernetes вы можете контролировать уровень управления. Полностью управляемые сервисы Kubernetes в облаке не позволяют настраивать мастер кластера, потому что этот компонент обрабатывается управляемой службой. При развертывании собственного кластера с помощью Кубеадм, Кубеспрей или даже делать это Трудный путь, у вас есть полный доступ к мастеру кластера и всем остальным связанным компонентам управления.
Это также добавляет гибкости конфигурации, когда вы можете настроить кластер и узлы так, как вы хотите, вместо того, чтобы бороться с параметрами конфигурации, поддерживаемыми управляемой службой.
У вас также есть больший контроль над развертыванием и управлением кластером. Например, вы можете развернуть несколько пулов узлов или выбрать разные типы экземпляров для разных узлов. Эти параметры недоступны для многих управляемых сервисов Kubernetes.
С другой стороны, у вас есть тот факт, что развертывание и поддержка самоуправляемого кластера занимает много времени и требует более глубоких знаний от сопровождающего. У поставщиков облачных услуг есть специальные группы, которые заботятся об этих решениях, и в целом это повышает надежность предоставляемых решений.
Больше плюсов и минусов описано в этот статья. Он от NetApp, но часть сообщения не относится к нему, и его стоит прочитать.