Пробники запуска не используются в GKE 1.18

Недавно я обновил кластер GKE, используемый в нашем проекте, до версии 1.18.16-gke.1200. Одной из функций, которых мы с нетерпением ждали, были тесты запуска. Согласно обзору шлюзов функций на сайте Kubernetes, зонды запуска вошли в стадию бета-тестирования в версии 1.18 Kubernetes и должны быть включены по умолчанию, если явно не отключены в конфигурации kubelet. В кластере 1.18, развернутом с помощью minikube, для развертывания правильно обнаружены зонды запуска:  Проверка запуска на minikube 1.18

На кластере GKE 1.18 про зонд нет упоминания:

Нет проверки запуска на 1.18 GKE

Оба развертывания имеют версию 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? Я не использую альфа-кластер, и зонды больше не являются альфа-функцией.


person Konpon96    schedule 25.03.2021    source источник
comment
Здравствуйте, не могли бы вы предоставить минимально воспроизводимый пример, чтобы мы могли воспроизвести вашу проблему?   -  person Ruben M    schedule 15.04.2021


Ответы (1)


Я понял довольно очевидную вещь, которую я должен упомянуть в своем вопросе: я использую Helm для развертывания своих приложений. Поскольку Helm просто генерирует Kubernetes YAML и применяет их к кластеру, конфигурация зонда запуска игнорировалась при применении к кластеру GKE 1.16.

Решение было очень простым: повторно развернуть все Helm Charts, чтобы сгенерированные шаблоны, включая информацию о запуске, правильно обрабатывались кластером.

Надеюсь, это тоже кому-то поможет.

person Konpon96    schedule 15.05.2021