OpenShift 健康检查

2024-02-23 07:38
文章标签 openshift 健康检查

本文主要是介绍OpenShift 健康检查,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、健康检查方式
在OpenShift的Deployment Config中,用户可以定义两种健康检查方式:
  • Readiness Probe:检查应用是否已经就绪(原因是当应用刚刚开始启动的时候,应用需要进行其所依赖资源的准备工作,列如 加载class、获得数据库连接 等等),OpenShift通过检查Readiness Probe接口,只有在确认服务就绪后,才会将外界的流量转发至服务。如果检测失败之后,RC不会进行容器的恢复,并且不会转发流量到此容器上,这是和Liveness Probe最大的区别点
当为正在运行的容器添加Readiness Probe时,如果新容器在启动时,健康检查失败的次数超过了配置的次数(通过 failureThreshold 设置,默认为3次)时,则将新容器标记为启动失败。当容器启动失败10分钟(通过 timeoutSeconds 设置,默认为10分钟)之后,OpenShift将会把这个新容器删除了,并且将配置回退到添加Readines Probe之后的旧配置,并使用旧配置再重新启动一个容器。回退的触发还可以通过 oc rollback app-cli 来完成。


  • Liveness Probe:检查容器是否在正常运行,如果一个服务的Liveness Probe探测结果返回失败,OpenShift就会判定这个容器出现了问题,相应的容器会被停止。并由RC进行容器数量恢复。通过 kubelet 服务完成检查过程。



二、健康检查类型
OpenShift默认支持三种类型的健康检查接口:HTTP GET请求、执行容器命令 以及 TCP Socker。
  • HTTP GET请求
HTTP GET请求类型的检查通过调用用户指定的URL差别容器应用的状态。如果返回值为200或399,则表示成功,否则认为失败。

  • 执行容器命令
用户可以通过执行容器中的某个命令来确认容器的状态。如果程序的返回值为0则表示成功,否则认定为失败。

  • TCP Socket
TCP Socket 检查访问容器的某一个TCP端口,如果成功建立连接,则认为检查成功,否则认为是失败。


三、例子
方式一,命令方式
oc set probe dc/app-cli \
--rediness \
--get-url= http://:8080/notreal \
--initial-delay-seconds=5

方式二,图形界面y方式
1、进入Deployment 的某个应用管理界面,如下图:

在这个界面上,就已经显示出现添加健康检查功能了。

2、选择健康检查方式,这里选择Liveness,如下图:


3、配置Liveness信息,如下图:


4、保存之后,回到Overview界面上看到,OpenShift新重启动了一个容器来应用刚刚的修改,此时,所有的流量还是转发到旧的容器;当新的容器准备就绪之后,旧的容器自动下线,所有的流量转发到新的容器上。


容器详细面上的说明:


这篇关于OpenShift 健康检查的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/737946

相关文章

springboot健康检查监控全过程

《springboot健康检查监控全过程》文章介绍了SpringBoot如何使用Actuator和Micrometer进行健康检查和监控,通过配置和自定义健康指示器,开发者可以实时监控应用组件的状态,... 目录1. 引言重要性2. 配置Spring Boot ActuatorSpring Boot Act

【Kubernetes知识点问答题】健康检查

目录   1. Kubernetes 对集群 Pod 和容器健康状态如何进行监控和检测的。 2. 解释 LivenessProbes 探针的作用及其适用场景。 3. 解释 ReadinessProbe 探针的作用及其适用场景。 4. 解释 StartupProbe 探针的作用及其适用场景。 5. 说明 K8s 中 Pod 级别的 Graceful Shutdown。 1. Kub

在Spring Cloud中使用Consul的服务健康检查与监控

在Spring Cloud中使用Consul的服务健康检查与监控 在微服务架构中,服务的稳定性和健康状态是保证系统可靠性的关键。Spring Cloud作为一套流行的微服务开发框架,提供了丰富的服务治理功能,而Consul作为一种强大的服务发现和配置管理工具,能够帮助实现对服务的健康检查和监控。本课程将深入探讨如何在Spring Cloud中使用Consul进行服务健康检查与监控,包括Consu

OpenShift 与 Rancher

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页,持续学习,不断总结,共同进步,活到老学到老 导航剑指大厂系列:全面总结 运维核心技术:系统基础、数据库、网路技术、系统安全、自动化运维、容器技术、监控工具、脚本编程、云服务等。 常用运维工具系列:常

Tengine的健康检查模块

配置nginx.conf vim nginx.conf server {   location /status {     check_status;     access_log off;     allow SOME.IP.ADDRESS     deny all;   } } 在upstream配置如下 check interval=3000 rise=2 fall

微服务健康检查:如何通过Eureka实现服务自动剔除与恢复

微服务健康检查:如何通过Eureka实现服务自动剔除与恢复 引言 随着微服务架构的广泛应用,如何保证服务的高可用性和系统的稳定性成为了架构设计中的重要考量。服务注册与发现是微服务架构中的关键组件,它们确保了微服务能够被其他服务发现并调用。Eureka是Netflix开源的一款服务注册与发现工具,广泛应用于Spring Cloud体系中。在一个微服务集群中,服务的健康状态直接关系到整个系统的稳定

VMware ESXi 主机的健康检查常用命令

使用root登录esxi 主机,然后运行下面的一些命令,可以对ESXi的健康状态有个基本了解: 检查主机资源利用情况: esxtop: 实时查看主机资源使用情况,包括CPU、内存、磁盘和网络。esxcli vm process list: 列出当前在主机上运行的虚拟机进程。 [root@localhost:~] esxcli vm process list Windows2012    W

【SpringBoot Actuator】⭐️Actuator 依赖实现服务健康检查,线程信息收集

目录 🍸前言 🍻一、Actuator 了解 🍺二、使用         2.1 依赖引入          2.2 测试场景搭建 🍹三、测试         3.1 项目启动测试         3.2  服务健康检查         3.3  线程转储         3.4 内存使用,垃圾回收信息获取 💞️四、章末 🍸前言         小伙

k8s学习(七) 使用pod健康检查

在Kubernetes集群当中,我们可以通过配置liveness probe(存活探针)和readiness probe(可读性探针)来影响容器的生存周期。 1 kubelet 通过使用 liveness probe 来确定你的应用程序是否正在运行,通俗点将就是是否还活着。一般来说,如果你的程序一旦崩溃了, Kubernetes 就会立刻知道这个程序已经终止了,然后就会重启这个程序。

20210720-springboot项目使用k8s部署,服务启动成功,但是健康检查失败

问题一:提示/health 404错误 问题描述 Jenkins上配置了流水线脚本,其中配置了健康检查的路径(直接抄别人项目的配置) 此时虽然项目启动成功,但是由于健康检查提示404,导致项目一直重启 解决方案 我的项目依赖的springboot版本号是2.2.6.RELEASE,对应的actuator版本号也升级了 从项目启动日志看出,新版本下的健康检查路径该为了/actuator/h