readme
2024/5/29...大约 2 分钟
k8s
kubectl 常用命令
kubectl get pods
也可以简写 kubectl get po
,加 -o wide
可以查看详细信息
kubectl get deployments
也可以简写为 kubectl get deploy
kubectl get services
也可以简写为 kubectl get svc
删除 deploy :kubectl deleted deploy 名称
删除 services :kubectl deleted svc 名称
查看描述:kubectl describe po 名称
Pod 探针
Pod 探针是容器内的一个监控机制,根据不同的探针来判断容器当前的状态。
为什么需要探针? Pod 里容器报错不能正常运行,Pod 需要知道容器是正常运行着。来决定重启策略什么时候生效。利用 LivenessProbe
探针实现 在容器初始化完成以前、容器是准备好以前,Pod 不能完成运行。利用 ReadinessProbe
探针实现 在容器完全启动前没有必要去检查容器是否报错、容器是准备好,需要在启动完成以前。利用 StartupProbe
有一定排他性,优先执行StartupProbe
返回成功才执行其它探针,1.16以后出现
探测方式
ExecAction:在容器内部执行一个命令,如果返回0,则任务容器是健康的
exec:
command:
- cat
- /health
使用场景:文件夹下某个文件是否存在,存在初始化成功
TCPSocketAction:通过 TCP 连接监测容器内端口是否开放,如果开放则证明容器是健康的
tcpSocket:
port: 80
HTTPGetAction:生产环境用的较多的方式,发送 HTTP 请求到容器内的应用程序。如果接口返回状态码在 200~400 之间,则认为容器健康。
httpGet:
path: /health
prot: 8080
scheme: HTTP
httpHeaders:
- name: xxx
- value: xxx
一些其他的参数:
initialDelaySeconds: 60 # 初始化时间
timeoutSeconds: 2 # 超时时间
periodSeconds: 5 # 监测间隔时间
successThreshold: 1 # 检查一次成就表示成功
failureThreshold: 2 # 监测 2 次失败表示失败