kuberbetes 容器探测(liveness/readiness probes)
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)相关推荐
- k8s pod生命周期、初始化容器、钩子函数、容器探测、重启策略
pod结构 Pause容器 Pause容器是每个Pod都会有的一个根容器,它的作用有两个 可以以它为根据,评估整个pod的健康状态 可以在根容器上设置IP地址,其他容器都以此IP(Pod IP),以实 ...
- Kubernetes Liveness and Readiness Probes
在设计关键任务.高可用应用程序时,弹性是要考虑的最重要因素之一. 当应用程序可以快速从故障中恢复时,它便具有弹性. 云原生应用程序通常设计为使用微服务架构,其中每个组件都位于容器中.为了确保Kuber ...
- Pod详解-生命周期-容器探测
容器探测用于检测容器中的应用实例是否正常工作,是保障业务可用性的一种传统机制.如果经过探测,实例的状态不符合预期,那么kubernetes就会把该问题实例" 摘除 ",不承担业务流 ...
- k8s生命周期---容器探测
健康检查 Kubernetes 作为一个面向应用的集群管理工具,需要确保容器在部署后确实处在正常的运行状态. 容器探测用于检测容器中的应用实例是否正常工作,是保障业务可用性的一种传统机制.如果经过探测 ...
- k8s 详解 pod 生命周期 容器探测(live and ready) 钩子函数 pod的重启策略
pause 容器, 每个pod的都有的根容器,评估pod 的健康状态,设置ip地址,ip+端口可以访问到指定的容器 pod pod 之间采用 flannel 通信 pod 定义 yaml 资源清单 一 ...
- kubernetes之容器探针(liveness and readiness probe)
1.为什么需要容器探针 只要将pod调度到某个节点,Kubelet将运行pod的容器,如果该pod的容器有一个或所有的都终止运行(容器的主进程崩溃),Kubelet将重新启动容器,那么即使应用程序本身 ...
- K8s Liveness/Readiness/Startup 探针机制
官方参考文档 目录 前言 一.默认健康检测 1.1 restartPolicy 1.2 测试案例 二.Liveness 三.Readiness 四.Startup 前言 玩过 Docker Swarm ...
- Openshift中Pod的SpringBoot2健康检查
Openshift中Pod的SpringBoot2应用程序健康检查 1. 准备测试的SpringBoot工程, 需要Java 8 JDK or greater and Maven 3.3.x or g ...
- kubernetes—Pod详解
Pod详解 前言 Pod介绍 Pod结构 Pod定义 pod的几种基础配置 概述 基本配置(name,image) 镜像拉取(imagePullPolicy) 启动命令(command和args) 环 ...
最新文章
- 深度学习4:使用MNIST数据集(tensorflow)
- copy,mutableCopy,retain区别
- 2017年9月18日
- 阿里云神龙团队拿下TPCx-BB排名第一的背后技术
- qt的项目中单个文件加载样式表
- 计算机的数学发展史论文,数学简史论文范文
- 移动端canvas_web前端开发分享-css,js移动篇
- 10.C++-构造函数初始化列表、类const成员、对象构造顺序、析构函数
- java.util.list e_E remove()
- Android P:BottomAppBar和MaterialButton
- ruby连接mysql问题
- jsp技术(一)—— jsp简介与原理
- 微信背单词小程序——小鸡单词
- GPS从入门到放弃(十五)--- DCB差分码偏差
- 领域驱动设计(domain driven design)战略篇之一 战略 Bounded Context
- read.html5.qq.com,如何通过第三方QQ登录网站首页
- Python文件操作与PDF处理
- 一阶差分序列garch建模_探讨黄金价格实证分析中ARIMA-GARCH模型的应用
- ListBox数据更新
- MYSQL 查询练习②
热门文章
- 新一代态势感知系统发布——北望
- 二叉树的讲解《二》(二叉树实现堆)
- 计算机管理没有本地用户和组控制面板,win10管理没有本地用户和组怎么办_win10电脑管理没有本地用户和组解决方法...
- 基于Python的基金数据汇总分析
- VR相机市场杀出一匹黑马,SONICAM备受众筹用户追捧
- 计及需求侧响应日前、日内两阶段鲁棒备用优化(Matlab代码实现)
- 阅读《时间,管理把握最宝贵的财富》摘录(1)
- 医院绩效考核上报工作迫在眉睫,如何顺利完成?
- silverlight java通信_Silverlight使用JavaSocket连接jabber服务器
- 【题目】pyCharm 专业版 和 社区版的区别以及如何查看其版本