С выходом TKG Service 3.2.0 в октябре 2024 года VMware объявила об устаревании API Tanzu Kubernetes Cluster (TKC), направляя клиентов на использование Cluster API в качестве поддерживаемого метода для инициализации, настройки и управления кластерами Kubernetes. Ниже описан процесс отказа от использования API TKC в пользу более современной методологии на основе Cluster API.
Далее термины "TKG Service", "TKGS" и "vSphere Kubernetes Service" (VKS) используются взаимозаменяемо. VMware проводит небольшую ребрендинг-кампанию, и в будущих выпусках вы начнете замечать обновленный брендинг.
API TanzuKubernetesCluster долгое время был полезным инструментом для управления кластерами Kubernetes, но по мере развития экосистемы Cluster API стал предлагать более зрелый, функциональный и управляемый по версиям подход к управлению жизненным циклом кластеров. Этот переход гарантирует клиентам стандартизацию, большую гибкость и долгосрочную поддержку. Однако в VMware понимают, что у многих пользователей уже развернуты кластеры, созданные с помощью API Tanzu Kubernetes Cluster. Это создает определенные сложности: необходимо обеспечить возможность корректного отказа от TKC-ресурсов без нарушения существующих рабочих процессов. Общий план по обновлению включает три ключевых этапа:
1. Уведомления об устаревании
Начиная с TKG Service 3.2.0, пользователи, работающие с ресурсами TKC, получают предупреждения об устаревании и рекомендации по переходу на Cluster API.
2. Процесс вывода из эксплуатации
С выпуском TKG Service 3.3.0 был представлен упрощенный процесс вывода ресурсов TKC для существующих кластеров, при этом управление ими продолжается через Cluster API. Подробное описание этого процесса приведено ниже.
3. Полное удаление
В одном из будущих выпусков поддержка API TKC будет полностью прекращена. К этому моменту пользователи должны будут вывести из эксплуатации все ресурсы TKC перед обновлением до новых версий TKG Service/VKS.
Обзор процесса вывода из эксплуатации
Этот процесс позволяет корректно удалить ресурсы TKC, при этом кластеры остаются полностью работоспособными и управляемыми через ресурс Cluster в Cluster API.
При применении метки kubernetes.vmware.com/retire-tkc к кластеру TKC:
Если кластер соответствует предварительным условиям вывода из эксплуатации, ресурс TKC удаляется, а управление кластером полностью переходит на его ресурс Cluster.
Если условия не выполнены, валидация заблокирует процесс вывода, и вам будут предоставлены подробные сведения об ошибках, которые помогут устранить проблемы.
Примечание: вывод ресурса TKC из эксплуатации не влияет на сам кластер или его узлы и не вызывает поэтапного обновления (rolling update).
Начало работы
Перед началом убедитесь, что ваш кластер не работает на устаревшей версии Kubernetes. Устаревшие версии совместимы только с vSphere 7.x (и 8.x для обновления) и должны быть обновлены до поддерживаемой версии Kubernetes перед выводом из эксплуатации. Используйте шаги проверки совместимости кластера, чтобы определить и обновить устаревшие версии.
Также убедитесь, что в кластере нет активных обновлений, и что он находится в стабильном состоянии. Важно об управлении через TMC: на данный момент кластеры, управляемые Tanzu Mission Control (TMC), не могут быть выведены из эксплуатации. Эта функциональность пока не поддерживается.
Шаги
Подробное руководство по процессу вывода из эксплуатации можно найти в официальной документации в разделе Retiring Tanzu Kubernetes Cluster resources.
Применение метки kubernetes.vmware.com/retire-tkc
Добавьте метку к ресурсу TKC для кластера, который вы хотите вывести из эксплуатации:
После применения метки webhook выполняется ряд автоматизированных проверок. В частности, проверяются следующие условия:
Неустаревшая версия Kubernetes: кластер должен работать на поддерживаемой версии Kubernetes (не может быть переопределено).
Существующий ресурс Cluster: должен существовать соответствующий ресурс Cluster, находящийся в состоянии Ready (можно переопределить — см. документацию).
Нет активных обновлений: в кластере не должно выполняться обновление (можно переопределить, если версии Kubernetes совпадают).
Нет других миграций: кластеры, находящиеся в процессе миграции, не могут быть выведены из эксплуатации (не может быть переопределено).
Кластер не управляется TMC: кластеры, управляемые Tanzu Mission Control, не могут быть выведены из эксплуатации (не может быть переопределено).
Если все проверки пройдены, процесс вывода продолжается. Если какая-либо из проверок не проходит, процесс приостанавливается, и в статусе TKCRetired указывается причина отказа. После устранения проблем процесс можно перезапустить.
Чтобы отслеживать процесс вывода из эксплуатации, используйте команду: