探针是由kubelet对容器定期的诊断,探测有三种类型
.执行自定义命令 execAction 在容器内执行命令,返回码为0表示成功,返回为其它表示失败.向指定的tcp套节字发请求 TCPsocketAction 对指定的端口发起请求.向指定的http服务发请求 HttpGetAction 返回状态码大于等于200,且小于400表示成功
2.5.3.1容器的就绪性探测,就是容器能对外提供服务后,才可以被service关联到后端
readiness-httpget方法模板
vim readiness-httpget.yamlapiVersion: v1kind: Podmetadata:name: readiness-httpget-podspec:containers:- name: readiness-httpget-podimage: ikubernetes/myapp:v1imagePullPolicy: IfNotPresentports:- name: httpcontainerPort: 80readinessProbe:httpGet:port: httppath: /oldboy.htmlinitialDelaySeconds: 1failureThreshold: 3restartPolicy: Always
2.5.3.2 存活性检查,每隔多长时间检查一次,这个动作持续到容器退出为止
liveness-exec方法探测
vim liveness-exec.yamlapiVersion: v1kind: Podmetadata:name: liveness-exec-podnamespace: defaultspec:containers:- name: liveness-exec-podimage: busybox:latestimagePullPolicy: IfNotPresentcommand: ["/bin/sh","-c","touch /tmp/healthy; sleep 30; rm /tmp/healthy; sheep 300"]livenessProbe:exec:command: ["test","-e","/tmp/healthy"]#检查此文件是否存在initialDelaySeconds: 1periodSeconds: 3restartPolicy: Always
liveness-httpget方法探测
apiVersion: v1kind: Podmetadata:name: liveness-httpget-podnamespace: defaultspec:containers:- name: liveness-httpget-podimage: ikubernetes/myapp:v1imagePullPolicy: IfNotPresentports:- name: httpcontainerPort: 80livenessProbe:httpGet:port: httppath: /index.htmlinitialDelaySeconds: 1periodSeconds: 3restartPolicy: Always
liveness-tcpsocket方法探测
vim liveness-tcpsocket.yamlapiVersion: v1kind: Podmetadata:name: liveness-tcpsocket-podnamespace: defaultspec:containers:- name: liveness-tcpsocket-podimage: nginx:1.14-alpineimagePullPolicy: IfNotPresentports:- containerPort: 80livenessProbe:tcpSocket:port: 80initialDelaySeconds: 1periodSeconds: 3restartPolicy: Always
