问题描述

在容器化服务时,因为服务启动时间较长,想使用startupProbe特性。根据资料该特性是在1.16版本上支持的,但是测试发现并不能使用。经查找发现,该特性在1.16版本上处于Alpha特性,默认是不开启的,需要在手工指定开启。

开启startupProbe特性

1、开启kube-apiserver的startupProbe特性支持

#在启动参数中增加 --feature-gates=StartupProbe=True 
vim /lib/systemd/system/kube-apiserver.service

请添加图片描述
2、开启kubelet特性支持

#在启动参数中增加 --feature-gates=StartupProbe=True 
vim /lib/systemd/system/kubelet.service

请添加图片描述
3、重启kubelet和apisever
systemctl daemon-reload
systemctl restart kube-apiserver.service
systemctl restart kubelet.service
需要配置重启集群中所有的kube-apiserver和kubelet

startupProbe特性使用

作用: 指示容器中的应用是否已经启动。如果提供了启动探针,则所有其他探针都会被禁用,直到此探针成功为止。如果启动探测失败,kubelet 将杀死容器,而容器依其重启策略进行重启。 如果容器没有提供启动探测,则默认状态为 Success。

详情见:
pod探针官方文档

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐