Kubernetes 中的 Probe 探针用于检查容器的健康状态和就绪状态。Kubernetes 支持两种类型的探针:livenessProbe 和 readinessProbe。
livenessProbe:指示 Kubernetes 何时重新启动容器。如果容器无法通过其 liveiness 探针,Kubernetes 会重新启动容器。
readinessProbe:指示容器是否准备好接受流量。如果容器未通过就绪探针的检查,那么它不会在服务中接收流量。
以下是一个配置了探针的 Kubernetes 部署示例:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: my-image
ports:
- containerPort: 80
livenessProbe:
httpGet:
path: /healthz
port: 80
initialDelaySeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /readyz
port: 80
initialDelaySeconds: 5
periodSeconds: 10
在这个示例中,livenessProbe 使用一个 HTTP GET 请求检查 /healthz 端点,并且 initialDelaySeconds 和 periodSeconds 分别设置了初始延迟时间和探针检查的间隔。readinessProbe 也是类似的,但它检查 /readyz 端点。
这些探针可以使用各种方法实现,包括 HTTP GET、TCP Socket、Exec 命令等。根据您应用的需求,选择合适的方法来配置这些探针。