两种健康检查机制

Liveness探测:用户自定义判断容器是否健康。如果判断失败,则重启容器,使用restart策略。
Readiness探测:根据Deployment控制器的Rollingupdate作为判断条件

三种检查方式:

httpGet: 发送HTTP请求,返回200-400范围状态码表示成功
exec: 执行Shell命令返回状态码为0表示成功
tcpSocket: 发起TCP Socket建立成功

使用exec命令方式做liveness检查

apiVersion: v1
kind: Pod
metadata:labels:test: liveness # 测试活着name: liveness
spec:restartPolicy: OnFailure # 使用 restart 判断容器是否活着containers:- name: livenessimage: busyboxargs:- /bin/sh- -c- touch /tmp/healthy; sleep 30s; rm -rf /tmp/healthy; sleep 300000000 # 创建一个文件30秒后删除livenessProbe: # 创建一个健康检查exec:command:- cat- /tmp/healthyinitialDelaySeconds: 10 # 10秒后开始检查periodSeconds: 5 # 每隔5秒检查一次

使用httpGet命令方式做liveness检查

apiVersion: apps/v1
kind: Deployment
metadata:labels:app: webname: web
spec:replicas: 1selector:matchLabels:app: webtemplate:metadata:labels:app: webspec:restartPolicy: Alwayscontainers:- image: nginximagePullPolicy: IfNotPresentname: webports:- containerPort: 80livenessProbe:tcpSocket:port: 80initialDelaySeconds: 5failureThreshold: 2periodSeconds: 5readinessProbe:httpGet:path: /index.htmlport: 80initialDelaySeconds: 5periodSeconds: 5startupProbe:  # startupProbehttpGet:path: /healthzport: liveness-portfailureThreshold: 30periodSeconds: 10  # 容器启动30*10=300s内liveness和readiness探针不会执行,300s后startup探针还没成

使用exec命令方式做 readiness检查,结果是直接将容器杀死,置为不可用

apiVersion: v1
kind: Pod
metadata:labels:test: readiness # 测试活着name: readiness
spec:restartPolicy: OnFailure # 使用 restart 判断容器是否活着containers:- name: readinessimage: busyboxargs:- /bin/sh- -c- touch /tmp/healthy; sleep 30s; rm -rf /tmp/healthy; sleep 300000000 # 创建一个文件30秒后删除readinessProbe: # 创建一个健康检查exec:command:- cat- /tmp/healthyinitialDelaySeconds: 10 # 10秒后开始检查periodSeconds: 5 # 每隔5秒检查一次

滚动更新Rollingupdate对判断上的应用

apiVersion: apps/v1
kind: Deployment
metadata:name: app
spec:strategy:  #滚动更新策略rollingUpdate:maxSurge: 35%  # maxSurge:和期望ready的副本数比,超过期望副本数最大比例(或最大值),这个值调的越大,副本更新速度越快maxUnavailable: 35% #maxUnavailable:和期望ready的副本数比,不可用副本数最大比例(或最大值),这个值越小,越能保证服务稳定,更新越平滑selector: matchLabels:run: appreplicas: 10template:metadata:labels:run: appspec:containers:- name: appimage: busyboxargs:- /bin/sh- -c- sleep 10; touch /tmp/healthy; sleep 3000000readinessProbe:exec:command:- cat - /tmp/healthyinitialDelaySeconds: 10periodSeconds: 5

k8s健康检查探针配置相关推荐

  1. linux网络健康度检测,linux运维、架构之路-K8s健康检查Health Check

    一.Health Check介绍 强大的自愈能力是k8s容器编排引擎一个重要特性,自愈能力的默认实现方式为自动重启发生故障的容器,另外还可以利用Liveness和Readiness探测机制设置更精细的 ...

  2. Node.js + Consul 实现服务注册、健康检查、配置中心

    Node.js + Consul 实现服务注册.健康检查.配置中心 在这篇文章中: 初始化 Consul 客户端 服务注册与健康检查 配置Consul管理控制台 服务配置中心实现 在Nodejs中进行 ...

  3. K8s中Pod的三种健康检查探针

    一.Pod的三种探针 StartupProbe:k8s 1.16版本后新加的探测方式,用于判断容器内应用程序是否已经启动.如果配置了startupProbe,就会先禁止其他的探测,直到它成功为止,成功 ...

  4. 十、k8s健康检查之 livenessProbe/readinessProbe

    健康检查 一个pod启动了之后,它有可能还在做初始化,这就意味着在初始化的应用进程还不能接受网络流量,所以要去控制一下pod的状态,也就是我还没有就绪,我还不能够接受流量. 有些应用跑着跑着没有响应, ...

  5. k8s健康检查(七)

    默认的健康检查 强大的自愈能力是 Kubernetes 这类容器编排引擎的一个重要特性.自愈的默认实现方式是自动重启发生故障的容器.除此之外,用户还可以利用 Liveness 和 Readiness ...

  6. k8s健康检查(七)--技术流ken

    默认的健康检查 强大的自愈能力是 Kubernetes 这类容器编排引擎的一个重要特性.自愈的默认实现方式是自动重启发生故障的容器.除此之外,用户还可以利用 Liveness 和 Readiness ...

  7. K8S使用就绪和存活探针配置健康检查

    本文转自:K8S使用就绪和存活探针配置健康检查 | 王柏元的博客,评论请前往原网站 一. 健康检查 健康检查(Health Check)可用于服务运行的状态监控,比如腾讯旗下的DNSPOD的D监控,要 ...

  8. k8s探针检测php,k8s探针实现grpc健康检查

    这篇文章教大家如何利用k8s实现grpc健康检查 一. 配置Liveness和Readiness探针 kubelet 使用 liveness probe(存活探针)来确定何时重启容器.例如,当应用程序 ...

  9. k8s探针检测php,K8S教程(7)使用探针对容器进行健康检查

    应用在运行过程不可避免会出现各种问题导致服务不可用的情况发生,K8S的Health Check健康检查机制可以对这些异常服务进行重启.剔除等操作,保障高可用. 一.K8S的健康检查探针 K8S的探针主 ...

最新文章

  1. 脑细胞膜等效神经网路
  2. job 做 ha 问题?
  3. C++实现cut rod切杆算法(附完整源码)
  4. msql安装(zip)
  5. 一个个人网站如何融资一千万
  6. 在 MFC SDI 程序中实现多语言程序界面
  7. 真诚地希望你耐心的把它看完
  8. 九度OJ1005题 一直WA??
  9. 博客开张第一贴!谢谢!大伙多多关照!谢谢.
  10. WebAppBuilder自定义主题
  11. Python 爬虫 (三) - Socket 网络编程
  12. java面向对象(第一章课后作业)02
  13. element做树形下拉_Element input树型下拉框的实现代码
  14. t450加固态硬盘教程_联想thinkpad笔记本t450s拆机加装固态硬盘及内存图解
  15. IBM推出新功能 加速AI应用
  16. 如何打开RAR文件?
  17. 浅谈大小端(Endian)与位域
  18. 电脑 显示 无可用电源选项 怎么办
  19. 生活琐事(一)丢魂了
  20. 微信小程序——瘦金社区

热门文章

  1. Java泛型与类型擦除--ImportNew
  2. 矩阵的条件数(condition number)
  3. flutter PC端打包 go-futter爬坑
  4. simulink降维观测器设计_基于MATLAB的状态观测器设计.doc
  5. ASM mov指令与lea指令的区别
  6. android 开源闹钟,Android闹钟 - huiyun-yoyo的个人页面 - OSCHINA - 中文开源技术交流社区...
  7. android+.9尺寸大小,华为Mate 9的屏幕尺寸是多少?分辨率是多少?
  8. 现代女生令我们如此失望!!!(女生勿进)
  9. contrast matlab,Matlab根本函数-contrast函数
  10. 关于计算机故障排除的文章 三(转)