1.容器探测(liveness/readiness probes)

容器探测用于检测容器中的应用实例是否正常工作,是保障业务可用性的一种传统机制。如果经过探测,实例的状态不符合预期,那么kubernetes就会把该问题实例" 摘除 ",不承担业务流量。kubernetes提供了两种探针来实现容器探测,分别是:

liveness probes:存活性探针,用于检测应用实例当前是否处于正常运行状态,如果不是,k8s会重启容器

readiness probes:就绪性探针,用于检测应用实例当前是否可以接收请求,如果不能,k8s不会转发流量

livenessProbe 决定是否重启容器,readinessProbe 决定是否将请求转发给容器。

上面两种探针目前均支持三种探测方式:

1.Exec命令:在容器内执行一次命令,如果命令执行的退出码为0,则认为程序正常,否则不正常

livenessProbe:exec:command:- cat- /tmp/healthy

例如:

# 创建pod-liveness-exec.yamlapiVersion: v1
kind: Pod
metadata:name: pod-liveness-execnamespace: dev
spec:containers:- name: nginximage: nginxports:- name: nginx-portcontainerPort: 80livenessProbe:exec: # 执行一个查看文件的命令command: ["/bin/cat","/tmp/hello.txt"]

     2.TCPSocket:将会尝试访问一个用户容器的端口,如果能够建立这条连接,则认为程序正常,否则不正常

livenessProbe:tcpSocket:port: 8080

例如:

# 创建 pod-liveness-tcpsocket.yamlapiVersion: v1
kind: Pod
metadata:name: pod-liveness-tcpsocketnamespace: dev
spec:containers:- name: nginximage: nginxports:- name: nginx-portcontainerPort: 80livenessProbe:tcpSocket: # 尝试访问8080端口port: 8080

       3.HTTPGet:调用容器内Web应用的URL,如果返回的状态码在200和399之间,则认为程序正常,否则不正常

  livenessProbe:httpGet:path: / #URI地址port: 80 #端口号host: 127.0.0.1 #主机地址scheme: HTTP #支持的协议,http或者https

例如:

apiVersion: v1
kind: Pod
metadata:name: pod-liveness-httpgetnamespace: dev
spec:containers:- name: nginximage: nginxports:- name: nginx-portcontainerPort: 80livenessProbe:httpGet:  # 其实就是访问http://127.0.0.1:80/hello  scheme: HTTP #支持的协议,http或者httpsport: 80 #端口号path: /hello #URI地址

kuberbetes 容器探测(liveness/readiness probes)相关推荐

  1. k8s pod生命周期、初始化容器、钩子函数、容器探测、重启策略

    pod结构 Pause容器 Pause容器是每个Pod都会有的一个根容器,它的作用有两个 可以以它为根据,评估整个pod的健康状态 可以在根容器上设置IP地址,其他容器都以此IP(Pod IP),以实 ...

  2. Kubernetes Liveness and Readiness Probes

    在设计关键任务.高可用应用程序时,弹性是要考虑的最重要因素之一. 当应用程序可以快速从故障中恢复时,它便具有弹性. 云原生应用程序通常设计为使用微服务架构,其中每个组件都位于容器中.为了确保Kuber ...

  3. Pod详解-生命周期-容器探测

    容器探测用于检测容器中的应用实例是否正常工作,是保障业务可用性的一种传统机制.如果经过探测,实例的状态不符合预期,那么kubernetes就会把该问题实例" 摘除 ",不承担业务流 ...

  4. k8s生命周期---容器探测

    健康检查 Kubernetes 作为一个面向应用的集群管理工具,需要确保容器在部署后确实处在正常的运行状态. 容器探测用于检测容器中的应用实例是否正常工作,是保障业务可用性的一种传统机制.如果经过探测 ...

  5. k8s 详解 pod 生命周期 容器探测(live and ready) 钩子函数 pod的重启策略

    pause 容器, 每个pod的都有的根容器,评估pod 的健康状态,设置ip地址,ip+端口可以访问到指定的容器 pod pod 之间采用 flannel 通信 pod 定义 yaml 资源清单 一 ...

  6. kubernetes之容器探针(liveness and readiness probe)

    1.为什么需要容器探针 只要将pod调度到某个节点,Kubelet将运行pod的容器,如果该pod的容器有一个或所有的都终止运行(容器的主进程崩溃),Kubelet将重新启动容器,那么即使应用程序本身 ...

  7. K8s Liveness/Readiness/Startup 探针机制

    官方参考文档 目录 前言 一.默认健康检测 1.1 restartPolicy 1.2 测试案例 二.Liveness 三.Readiness 四.Startup 前言 玩过 Docker Swarm ...

  8. Openshift中Pod的SpringBoot2健康检查

    Openshift中Pod的SpringBoot2应用程序健康检查 1. 准备测试的SpringBoot工程, 需要Java 8 JDK or greater and Maven 3.3.x or g ...

  9. kubernetes—Pod详解

    Pod详解 前言 Pod介绍 Pod结构 Pod定义 pod的几种基础配置 概述 基本配置(name,image) 镜像拉取(imagePullPolicy) 启动命令(command和args) 环 ...

最新文章

  1. 深度学习4:使用MNIST数据集(tensorflow)
  2. copy,mutableCopy,retain区别
  3. 2017年9月18日
  4. 阿里云神龙团队拿下TPCx-BB排名第一的背后技术
  5. qt的项目中单个文件加载样式表
  6. 计算机的数学发展史论文,数学简史论文范文
  7. 移动端canvas_web前端开发分享-css,js移动篇
  8. 10.C++-构造函数初始化列表、类const成员、对象构造顺序、析构函数
  9. java.util.list e_E remove()
  10. Android P:BottomAppBar和MaterialButton
  11. ruby连接mysql问题
  12. jsp技术(一)—— jsp简介与原理
  13. 微信背单词小程序——小鸡单词
  14. GPS从入门到放弃(十五)--- DCB差分码偏差
  15. 领域驱动设计(domain driven design)战略篇之一 战略 Bounded Context
  16. read.html5.qq.com,如何通过第三方QQ登录网站首页
  17. Python文件操作与PDF处理
  18. 一阶差分序列garch建模_探讨黄金价格实证分析中ARIMA-GARCH模型的应用
  19. ListBox数据更新
  20. MYSQL 查询练习②

热门文章

  1. 新一代态势感知系统发布——北望
  2. 二叉树的讲解《二》(二叉树实现堆)
  3. 计算机管理没有本地用户和组控制面板,win10管理没有本地用户和组怎么办_win10电脑管理没有本地用户和组解决方法...
  4. 基于Python的基金数据汇总分析
  5. VR相机市场杀出一匹黑马,SONICAM备受众筹用户追捧
  6. 计及需求侧响应日前、日内两阶段鲁棒备用优化(Matlab代码实现)
  7. 阅读《时间,管理把握最宝贵的财富》摘录(1)
  8. 医院绩效考核上报工作迫在眉睫,如何顺利完成?
  9. silverlight java通信_Silverlight使用JavaSocket连接jabber服务器
  10. 【题目】pyCharm 专业版 和 社区版的区别以及如何查看其版本