Kubernetes 三大探针及探针方式
一、探针背景介绍
1、编排工具运行时,虽说pod挂掉会在控制器的调度下会重启,出现pod重启的时候,但是pod状态是running,无法真实的反应当时pod健康状态,我们可以通过Kubernetes的探针监控到pod的实时状态。
二、Kubernetes三种探针类型
启动探针(Startup Probe):判断容器内的应用是否启动完成(在启动探针判断成功前,就绪探针和存活探针将不会执行)
就绪探针(Readiness Probe):判断容器是否已经就绪,若未就绪,容器将会处于未就绪,未就绪的容器,不会进行流量的调度。
存活探针(Liveness Probe):判断容器内的应用程序是否正常,若不正常,K8s 将会重新重启容器。
三、探针的三种方式
exec:通过在容器内执行指定命令,来判断命令退出时返回的状态码,如果为 0 表示正常。
httpGet:通过对容器的 IP 地址、端口和 URL 路径来发送 GET 请求;如果响应的状态码在 200 ~ 399 间,表示正常。
tcpSocket:通过对容器的 IP 地址和指定端口,进行 TCP 检查,如果端口打开,表示正常。
四、配置项
initialDelaySeconds:等待我们定义的时间 结束后便开始探针检查;
periodSeconds:探针的 间隔时间;
timeoutSeconds:探针的 超时时间,当超过我们定义的时间后,便会被视为失败;
successThreshold:探针的 最小连续成功数量;
failureThreshold:探针的 最小连续失败数量;
下面我们分别对这三种探针使用了不同的探针方式,主要是为了方便给大家做一个简单的介绍,并不是固定写法;同时,这三种探针是可以配合使用的;像一般比较常见的便是 就绪探针和存活探针配合使用(启动探针是在 K8s 1.6 版本后增加的
五、探针使用介绍
1)启动探针
apiVersion: v1
kind: Pod
metadata:name: nginx-start-upnamespace: probe
spec:containers:- name: nginx-start-upimage: nginx:latestports:- containerPort: 80startupProbe:failureThreshold: 3 #失败三次算探针失败exec:command: ['/bin/sh','-c','echo Hello World']initialDelaySeconds: 20 #延迟20s后进行第一次探针periodSeconds: 3 #间隔3s进行一次探针successThreshold: 1 #成功一次算探针oktimeoutSeconds: 2 #超时2s算失败一次
2)就绪探针
apiVersion: v1
kind: Pod
metadata:name: nginx-readynamespace: probelabels:app: nginx-ready #验证就绪探针的关键参数
spec:containers:- name: nginx-readyimage: nginx:latestports:- containerPort: 80readinessProbe:failureThreshold: 3tcpSocket:port: 80initialDelaySeconds: 20periodSeconds: 3successThreshold: 1timeoutSeconds: 2
端口检测正常:
写一个nodeport类型进行流量验证
apiVersion: v1
kind: Service
metadata:name: ready-nodeportlabels:name: ready-nodeportnamespace: probe
spec:type: NodePortports:- port: 88protocol: TCPtargetPort: 80nodePort: 30880selector:app: nginx-ready
模拟流量结果是ok的
现在修改下就绪探针tcpSocket检测方式的端口为81模拟下探针失败,流量会不会走到该pod
显示81端口不通,ready状态为0,但pod是running的,请求一下结果如下,流量打入失败。就绪探针失败,是不会给该pod打入流量的。
3)存活探针
apiVersion: v1
kind: Pod
metadata:name: nginx-livenamespace: probelabels:app: nginx-live
spec:containers:- name: nginx-liveimage: nginx:latestports:- containerPort: 80livenessProbe:failureThreshold: 3httpGet:path: /port: 80scheme: HTTPinitialDelaySeconds: 20periodSeconds: 3successThreshold: 1timeoutSeconds: 2
生成一个nodeport类型service
apiVersion: v1
kind: Service
metadata:name: live-nodeportlabels:name: live-nodeportnamespace: probe
spec:type: NodePortports:- port: 89protocol: TCPtargetPort: 80nodePort: 30810selector:app: nginx-live
curl进行ip端口校验
修改httpget中port参数值为81,模拟存活探针失败,探针失败,会让pod进行重启。
六、探针恢复
修改探针探测端口正确,重新加载yaml文件,流量正常。
Kubernetes 三大探针及探针方式相关推荐
- kubernetes监控检查(探针)
健康检查:又称为探针(Probe ) 探针是由kubelet对容器执行的定期诊断. 探针的三种规则: livenessProbe:判断容器是否正在运行.如果探测失败,则kubelet会杀死容器,并且容 ...
- 深入了解Kubernetes REST API的工作方式
关于Kubernetes REST API的工作方式: 在哪里以及如何定义从REST路径到处理REST调用的函数的映射? 与etcd的交互发生在哪里? 从客户端发出请求到保存在etcd中对象的端到端路 ...
- Kubernetes的Service外部访问方式:NodePort和LoadBalancer
Kubernetes的Service外部访问方式:NodePort和LoadBalancer 关注公众号 风色年代(itfantasycc) 300G微服务资料等你拿! Kubernetes的Pod的 ...
- Wi-Fi 探针 - 智能探针 - 探针盒子 -> 危害用户信息安全
Wi-Fi 探针 - 智能探针 - 探针盒子 -> 危害用户信息安全 Wi-Fi 探针 - 智能探针 - 探针盒子自动收集消费者信息,危害用户信息安全.一定要注意关闭手机 Wi-Fi,不要轻易信 ...
- kubernetes以单个文件的方式挂载 configMap及挂载注意事项
kubernetes 以单个文件的方式挂载 configMap 及挂载注意事项 问题现象 默认挂载 configMap 时,kubernetes 会覆盖掉挂载的整个目录,哪怕使用 items 也会导致 ...
- kubernetes学习笔记-就绪探针20220405
1.介绍就绪探针 就绪探测器会定期调用,并确定特定的pod是否接收客户端请求.当容器的准备就绪探测返回成功时,表示容器已经准备好接收请求 就绪探针类型3种: 1)Exec探针,执行进程的地方,容器的状 ...
- 多达4000种应用签名识别的移动网络探针|DPI探针
文章目录 定义 简介 主要功能/优点 产品内部功能 典型应用 了解更多网络可视化知识 定义 探针是一种被动设备,它接收来自TAP和网络包代理的网络流量,并提取元数据. 简介 虹科提供了新一代大数据智能 ...
- java 类似 黑针探针_java探针技术I——如何写一个 java agent
开发工具 Intellij Idea 2019 maven 3 开始吧 java 探针不依赖于任何框架,所以首先我们创建一个 maven 项目即可. 创建启动类 新增一个 SartUp 的启动类 pu ...
- 【Kubernetes】Kubernetes的Service外部访问方式:NodePort和LoadBalancer
Kubernetes的Pod的寿命是有限的,它们不会复活,因此尽管每个Pod都有自己的IP地址,但是这些IP地址是不可靠的,会随着Pod的消亡而消失. 这就带来一个问题,如果一些Pod的集合(称之为b ...
最新文章
- 原来 Kubernetes 部署如此简单,看完全明白了
- iOS逆向(8)-Monkey、Logos
- python中的 set 中的元素
- 百度seo指南_什么是SEO?网站怎么做SEO优化(问答篇)
- 远离盛行道德绑架的团队
- Python Demo 04-蒙特卡罗猜测与计时
- Android中软键盘(输入法)收起的方法
- HDU5833 异或方程组的初步学习
- css的三个特性 背景透明设置
- HTML+CSS+JS实现 ❤️彩色3D线条动画特效❤️
- MySQL实验7存储过程_mysql的总结7--存储过程-阿里云开发者社区
- Linux FTP服务搭建(完整步骤)
- 四川大学计算机徐教授,我院举行“BIM实验室开放+徐教授专题讲座”活动
- 四川农大2020计算机专业录取分数线,四川农业大学2020年美术类本科专业录取分数线...
- 基于 Spark 的文本情感分析
- 名帖196 米芾 行书《诉衷情》
- 华为手机怎么使用读卡器_手机nfc功能怎么打开(华为手机nfc功能使用步骤)
- 2的零次方加到2的n次方c语言,计算2的N次方........有什么错吗?
- Symmetric 配置数据库同步
- 企业工商信息查询API开发文档