### K8S容器探针种类
在Kubernetes中,容器探针主要分为以下两种类型:
1. 启动探针(Liveness Probe):用于确定容器是否健康存活。如果启动探针失败,则Kubernetes将尝试重启容器。
2. 就绪探针(Readiness Probe):用于确定容器是否准备好接受流量。如果就绪探针失败,则容器将从Service的Endpoint列表中移除,直到再次就绪。
### 实现K8S容器探针
下面将通过一步步的方式,在Kubernetes中实现上述两种类型的容器探针。
#### 步骤示例:
| 步骤 | 操作 |
| --- | --- |
| 1 | 创建Deployment或Pod |
| 2 | 添加启动探针(Liveness Probe) |
| 3 | 添加就绪探针(Readiness Probe) |
#### 代码示例:
1. 首先,创建一个Deployment示例:
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 1
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: nginx:latest
```
2. 添加启动探针(Liveness Probe):
```yaml
livenessProbe:
httpGet:
path: /healthz
port: 80
initialDelaySeconds: 30
periodSeconds: 10
```
在上面的示例中,我们定义了一个HTTP请求的方式来检测容器是否存活,路径为/healthz,端口为80,初始延迟30秒,每10秒检测一次。
3. 添加就绪探针(Readiness Probe):
```yaml
readinessProbe:
httpGet:
path: /ready
port: 80
initialDelaySeconds: 5
periodSeconds: 5
```
同样地,在这里我们定义了一个HTTP请求的方式来检测容器是否准备好接受流量,路径为/ready,端口为80,初始延迟5秒,每5秒检测一次。
通过以上代码示例,我们成功地向Kubernetes中的Deployment中添加了启动探针和就绪探针,确保容器的健康、存活及准备就绪。
希望上述内容能够帮助你理解K8S容器探针的种类及实现方式。如果有任何疑问,欢迎随时向我提问。祝学习顺利!