摘要: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一定是正常可用的。
兰花
鼓励的话语:生活之中,浮于表象的繁华和享受可以用金钱获得,但沉敛于心的幸福和丰盈是无法用价值来衡量的。而生命的美好,不仅需要物质的积累,更需要我们用一颗博爱、感恩和宽容的心,慢慢打磨、细细品味!
来源:国豪教育