Kubernetes就绪探针和存活探针
Kubernetes就绪探针和存活探针探针原理介绍编辑微服务发布文件探针原理介绍就绪探针 Readiness Probe 流量接入的依据;了就绪探针之后,K8S可以判断POD是否已经就绪,来决策是否向POD做流量转发。否则,可能会造成POD没有就绪,K8S已经在做流量转发,应用访问报错。这种场景,多发生的replicaSet扩容,增加POD数量的时候。存活探针 Liveness Probe Kil
·
探针原理介绍
- 就绪探针 Readiness Probe 流量接入的依据;了就绪探针之后,K8S可以判断POD是否已经就绪,来决策是否向POD做流量转发。否则,可能会造成POD没有就绪,K8S已经在做流量转发,应用访问报错。这种场景,多发生的replicaSet扩容,增加POD数量的时候。
- 存活探针 Liveness Probe Kill容器(POD)的依据;
下图所示样例,需要加入到微服务POD YAML发布文件里,发布之后,K8S对定期向POD发出请求,来检查POD状态,健康。
编辑微服务发布文件
新增readinessProbe段。
petclinic-svc.yml文件修改内容如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: petclinic
spec:
replicas: 1
selector:
matchLabels:
app: petclinic
template:
metadata:
labels:
app: petclinic
spec:
containers:
- name: petclinic
# Run this image
image: spring2go/spring-petclinic:1.0.0.RELEASE
readinessProbe:
httpGet:
# pod目录下,springboot用于健康检查的endpoint,不用通过网关,所以可以直接写endpoint路径。
path: /actuator/health
# 微服务内部启用端口,查看下面service部分
port: 8080
envFrom:
- configMapRef:
name: petclinic-config
---
apiVersion: v1
kind: Service
metadata:
# Unique key of the Service instance
name: petclinic
spec:
ports:
# Accept traffic sent to port 80
- name: http
# port为集群内部服务前通信的端口
port: 8080
targetPort: 8080
nodePort: 31080
selector:
# 下面标签app: petclinic表示本服务会路由指向所有app标签为petclinic的pod。
app: petclinic
type: NodePort
可以查看POD详情,找到Readiness探针。
kubectl describe po pod_name
更多推荐
已为社区贡献4条内容
所有评论(0)