K8S健康检查--探针
参考链接https://segmentfault.com/a/1190000021402257https://jimmysong.io/kubernetes-handbook/guide/configure-liveness-readiness-probes.htmlhttps://www.jianshu.com/p/d87a50272310背景:在k8s部署服务的时候,会出现pod是runnin
·
参考链接
https://segmentfault.com/a/1190000021402257
https://jimmysong.io/kubernetes-handbook/guide/configure-liveness-readiness-probes.html
https://www.jianshu.com/p/d87a50272310
背景:
在k8s部署服务的时候,会出现pod是running状态,也可以进入到容器中,但是服务端口没有起,尤其再是小组件,没有受到关注的情况下,就会对生产环境造成影响。这个时候就需要加一些健康检查
上面的几个链接都很好的描述了什么是健康检查以及探针,下面我们讲一下如何去使用探针。
案例:
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
labels:
xxx: yyy
name: ubot-qa
spec:
selector:
matchLabels:
xxx: yyy
template:
metadata:
labels:
xxx: yyy
spec:
containers:
- image: xxx.domain.cn/xxx/xxx:v1
name: xxx
volumeMounts:
- name: logdir
mountPath: /data/research/xxx/log
- name: configmap
mountPath: /data/research/xxxx/conf
env:
- name: TZ
value: "Asia/Shanghai"
dnsPolicy: ClusterFirstWithHostNet
hostNetwork: true
nodeSelector:
xxx: yyy
restartPolicy: Always
terminationGracePeriodSeconds: 30
volumes:
- hostPath:
path: /data/log/xxx
name: logdir
- configMap:
name: xxx
name: configmap
updateStrategy:
rollingUpdate:
maxUnavailable: 1
type: RollingUpdate
上面是一开始的ds文件,apply后,由于代码bug问题,导致pod起了,容器起了,但是服务没有起。下面加一下健康检查部分配置
livenessProbe:
exec:
command: ['sh','-c','netstat -nlp|grep -w 5160'] #检测端口是否存在
initialDelaySeconds: 10 #Pod开启后,延迟10s再进行检测
periodSeconds: 3 #检测间隔时长
可以看到该pod重启多次,然后状态成 CrashLoopBackOff,这个时候监控告警就会告出来。
如果是HTTP类型和tcp类型的上面链接中有介绍。
更多推荐
已为社区贡献7条内容
所有评论(0)