kubernetes探针类型
探针的作用对象:容器
有以下三种类型:
启动探针(Startup Probe)
用来告诉k8s何时一个容器的应用已经启动。如果这个指针配置了,存活指针和就绪指针都不会开始直到启动探针成功。这样可以保证服务启动不会被干扰,防止在启动时缓慢而导致被存活探针检测到而被killed.
就绪探针(Readiness Probe)
用来告诉k8s什么时候这个容器可以就绪去接管流量。一个pod里有多个容器,只有当所有容器就绪时,此时该Pod才会标记为已就绪。这样做的好处就是,当某些pod被用来作为服务的端点。如果没就绪,就会从该服务的load balancers列表去除。不会将流量切到未就绪的pod中。
存活探针(Liveness Probe)
用来告诉k8s这个容器是否需要被重启。如果出现一个应用在运行,但是无法对外提供服务由于某些bug,这时候k8s会进行重启容器保证应用重新可用。常见的使用方式比如用同一个http endpoint设置,但是比其他类型探针高的错误门槛值,这样可以确保在杀死容器前引用是被观测为非就绪的。也就是非就绪->非存活的实践。
拓展
端点endpoints
k8s中pod作为部署的端点endpoint存在,其主要关注pod的ip,端口。