Недавно я обновил кластер GKE, используемый в нашем проекте, до версии 1.18.16-gke.1200. Одной из функций, которых мы с нетерпением ждали, были тесты запуска. Согласно обзору шлюзов функций на сайте Kubernetes, зонды запуска вошли в стадию бета-тестирования в версии 1.18 Kubernetes и должны быть включены по умолчанию, если явно не отключены в конфигурации kubelet. В кластере 1.18, развернутом с помощью minikube, для развертывания правильно обнаружены зонды запуска:
На кластере GKE 1.18 про зонд нет упоминания:
Оба развертывания имеют версию API apps/v1
и одинаковую конфигурацию зонда, но тестовый запуск игнорируется GKE.
Я выполнил kubectl cluster-info dump
для кластера GKE, чтобы определить параметры --feature-gates
флага kubelet, если StartupProbe
не был отключен Google для этой версии. Однако единственная информация о функциях, возвращаемая дампом, - это параметр контейнера kube-proxy, который выглядит следующим образом: --feature-gates=DynamicKubeletConfig=false,RotateKubeletServerCertificate=true
. В дампе вообще нет упоминания о пробах запуска, а это значит, что пробы должны быть включены.
Примечания к выпуску GKE, похоже, нигде не упоминают о тестах запуска, даже в запись о введении версии 1.20, в которой зонды вошли в GA, хотя упоминается градация какой-то другой функции (RuntimeClass). Может быть, Google по какой-то причине препятствует внедрению зондов запуска в GKE? Есть ли другой способ включить тесты запуска для версии 1.18 GKE? Я не использую альфа-кластер, и зонды больше не являются альфа-функцией.