云容器实例 CCI-业务探针(Readiness probe):Readiness Probe的工作原理

时间:2023-12-21 21:07:00

Readiness Probe的工作原理

如果调用kubectl describe命令查看Service的信息,您会看到如下信息。

$ kubectl describe svc nginx -n $namespace_name
Name:              nginx
......
Endpoints:         192.168.113.81:80,192.168.165.64:80,192.168.198.10:80
......

可以看到一个Endpoints,Endpoints同样也是Kubernetes的一种资源对象,可以查询得到。

$ kubectl get endpoints -n $namespace_name
NAME         ENDPOINTS                                               AGE
nginx        192.168.113.81:80,192.168.165.64:80,192.168.198.10:80   14m

这里的192.168.113.81:80是Pod的IP:Port,通过如下命令可以查看到Pod的IP,与上面的IP一致。

# kubectl get pods -o wide -n $namespace_name
NAME                     READY     STATUS    RESTARTS   AGE       IP                                                                             
nginx-55c54cc5c7-49chn   1/1       Running   0          1m        192.168.198.10
nginx-55c54cc5c7-x87lb   1/1       Running   0          1m        192.168.165.64
nginx-55c54cc5c7-xp4c5   1/1       Running   0          1m        192.168.113.81

通过Endpoints就可以实现Readiness Probe的效果,当Pod还未就绪时,将Pod的IP:Port在Endpoints中删除,Pod就绪后再加入到Endpoints中,如下图所示。

图1 Readiness Probe的实现原理
support.huaweicloud.com/devg-cci/cci_05_0026.html