我最近将我们项目中使用的 GKE 集群更新为 1.18.16-gke.1200 版本。我们一直期待的功能之一是启动探测。根据Kubernetes 网站上的 feature gates 概述,启动探针在 Kubernetes 1.18 版本中进入了 Beta 阶段,应该默认启用,除非在 kubelet 配置中明确禁用。在使用 minikube 部署的 1.18 集群上,Deployment 的启动探针已正确发现:
在 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 中引入启动探测?有没有其他方法可以为 GKE 1.18 版启用启动探测?我没有使用 alpha 集群,并且探针不再是 alpha 功能。