4.6.3 设置 TCP 探针
基于 TCP 的存活性探测(TCPSocketAction)用于向容器特定端口发起 TCP 请求并尝试建立连接进行结果判定,连接建立成功即为通过检测。相比较来说,它比基于 HTTP 的探测更高效、更节约资源,但精确度略低,毕竟连接建立成功未必意味着页面资源可用。“spec.containers.livenessProbe.tcpSocket” 字段用于定义此类检测,它主要包含以下两个可用的属性。
1) host <string>
:请求连接的目标IP地址,默认为 Pod IP
2) port <string>
:请求连接的目标端口,必选字段
下面是一个定义在资源清单文件 liveness-tcp.yaml 中的示例,它向 Pod IP 的 80/tcp 端口发起连接请求,并根据连接建立的状态判定测试结果:
apiVersion: v1
kind: Pod
metadata:
labels:
test: liveness
name: liveness-tcp
spec:
containers:
- name: liveness-tcp-demo
image: nginx:1.12-alpine
ports:
- name: http
containerPort: 80
livenessProbe:
tcpSocket:
port: http
这里不再给出其具体的创建与测试过程,有兴趣的读者可自行进行测试。