kubernetes基础知识之就绪探测

360影视 2025-01-26 22:09 2

摘要:imagePullPolicy:IfnotPresent 是只要本地有就不下载,本地主机没有,再从远程下载镜像。

kubernetes 探针分成三类:启动探针startup Probe、存活探针liveness Probe和就绪探针readiness Probe。

使用yaml文件创建pod:

kubectl create -f xxx.pod.yaml

Services必须满足的两个条件:

①:标签的子集匹配

②:pod必须是就绪状态。

查看pod的标签:

kubectl get pod --show-labels

就绪探测readiness Probe基于HTTP Get的方式:

readinessProbe:

port: 80

path: /index.html

imagePullPolicy:IfnotPresent 是只要本地有就不下载,本地主机没有,再从远程下载镜像。

查看pod的创建事件:

kubectl describe pod $pod_name

结果中的Events就是创建事件。

kubernetes进入容器的命令:

kubectl exec -it $pod_name -- /bin/bash

就绪探测readiness Probe基于exec的方式:

readinessProbe:

exec:

command: ["test","-e","/tmp/live"]

就绪探测readinessProbe基于TCP Check的方式:

readinessProbe:

tcpSocket:

port: $port_number

就绪探测基于TCP Check的方式。

老版本的就绪探测readiness Probe,从开始到就绪探测通过就结束了。

新版本的就绪探测readiness Probe,从开始到容器死亡,一直都会做探测。

kubectl get pod -w 可以监测资源对象的变化情况,-w是监视。如果资源对象的状态发生变化,它才会打印变化的情况。

kubernetes不支持重启pod资源,只有删除重建。

当pod中的容器退出时通过节点上的kubelet重启容器,适用于pod中的所有容器。

kubernetes 中pod的yaml文件中,spec期望下面的containers是用来定义容器组。

基于TCPSocket的检测,只要能进行端口的TCP连接,那么就绪检测就通过了。如果被拒绝、无响应或者超时,那么就绪检测就失败了。

TCPSocket基于TCP的检测方式,不常用,一般用HTTP Get的方式或者运行脚本的方案进行探测。

TCPSocket的探测方案只是一个探测方式的补充。

就绪探测从一开始到容器死亡一直不间断地进行探测。刚开始可能是就绪状态,运行一段时间之后可能变成未就绪的状态。

有了就绪探测,我们可以保证,凡是提供给客户访问的服务或者pod一定是正常可用的。

兰花

鼓励的话语:生活之中,浮于表象的繁华和享受可以用金钱获得,但沉敛于心的幸福和丰盈是无法用价值来衡量的。而生命的美好,不仅需要物质的积累,更需要我们用一颗博爱、感恩和宽容的心,慢慢打磨、细细品味!

来源:国豪教育

相关推荐