Kubernets有以下三种探测容器的机制
1、HTTP GET 探针对容器的IP地址(你指定的端口和路径)执行HTTP GET请求。如果探测器收到响应,并且响应状态码不代表错误(换句话说,如果HTTP响应状态码是2XX或3XX),则认为探测成功。如果服务器返回错误响应状态码或者根本没有响应,那么探测就被认为是失败的,容器将被重新启动。
2、TCP套接字探针尝试与容器指定端口建立TCP连接。如果连接成功建立,则探测成功。否则,容器重新启动。
3、EXEC探针在容器内执行做生意意命令,并检查命令的退出状态码。如果状态码是0,则探测dnal.rn有其他状态码都被认为失败。
apiVersion: v1
kind: Pod
metadata:
name: kubia-liveness
namespace: test
spec:
containers:
- name: kubia
image: luksa/kubia-unhealthy
livenessProbe: #一个HTTP GET 存活探针
httpGet:
port: 8080 #探针连接的网络端口
path: / #HTTP请求的路径