k8s-----7、Pod健康检查

健康检查

1、健康检查

  • 健康检查可以分为两种

  • 1、livenessProbe (存活检查)。如果检查失败,将杀死容器,通过Pod的restartPolicy来操作。

  • 2、readinessProbe(就绪检查)。如果检查失败,k8s会将Pod从Service endpoints中剔除。

  • Probe支持的三种检查方式:

  • 1、httpGet,发送HTTP请求,如果返回200-400的状态码,为成功。

  • 2、exec,执行shell命令返回的状态码为0表示成功

  • 3、tcpSocket,发起tcp Socket建立成功

bash 复制代码
# 通过exec进行演示状态码的变化
[root@master example]# vim healthy.yaml
[root@master example]# touch /tmp/healthy
[root@master example]# echo $?
0
[root@master example]# rm -fr /tmp/healthy 
[root@master example]# cat /tmp/healthy
cat: /tmp/healthy: No such file or directory
[root@master example]# echo $?
1

# 通过yaml文件进行展示
[root@master example]# cat healthy.yaml 
apiVersion: v1
kind: Pod
metadata: 
  labels:
    test: liveness
  name: liveness-exec
spec:
  containers:
  - name: liveness
    image: busybox
    args:
    - /bin/sh
    - -c 
    - touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy
    livenessProbe:    #健康检测部分代码
      exec:
        command:
        - cat 
        - /tmp/healthy
      initialDelaySeconds: 5
      periodSeconds: 5
相关推荐
鹤落晴春1 小时前
【K8s】Pod调度、configMaps
云原生·容器·kubernetes
张忠琳1 小时前
【runc 1.4.2】(Part 2)runc 1.4.2 超深度分析 — CLI层:main.go、命令文件、runner、信号处理、TTY
云原生·kubernetes·runc
阿里云云原生3 小时前
AI 提效是“假象”还是“红利”?用 LoongSuite + SLS 构建组织级 AI 编码度量看板
云原生
Java识堂5 小时前
如何对微服务进行拆分?
微服务·云原生·架构
Plastic garden7 小时前
K8s知识(3) Pod亲和性,调度
云原生·容器·kubernetes
霸道流氓气质8 小时前
从MySQL到云原生:全面解析阿里云PolarDB数据库及其与MySQL的核心差异
数据库·mysql·云原生
张忠琳8 小时前
【client-go v0.36.1】(store Part 1)Store 超深度分析 — 模块定位、接口层次、类结构、KeyFunc体系、构造初始化
云原生·kubernetes·informer·store·client-go
heimeiyingwang10 小时前
【架构实战】网关架构设计:微服务的统一入口
微服务·云原生·架构
开发者联盟league10 小时前
使用jenkins pipeline将项目打包运行在k8s上报错kubectl: Permission denied
java·kubernetes·jenkins