当前位置: 首页 > article >正文

kubesphere问题处理:devops

一、背景介绍

kubesphere打开devops功能的时候devops-jenkins的pod一直创建不成功。
kubectl describe 提示

Readiness probe failed: Get "http://10.233.93.28:8080/login": dial tcp 10.233.93.28:8080: connect: connection refused

二、问题解决

使用论坛中提供的方法。
https://ask.kubesphere.io/forum/d/7224-kubesphere-devops-jenkins-pod/3
问题出现的原因是部署中设置了容器活跃探针和容器准备探针。第一次pod启动的时候准备某些资源需要时间,但是探针提前检测了,然后重启了容器。
先删除探针,重启pod,确定服务启动的需要的时间,根据时间来设置探针首次运行的时间。
我的jenkins因为未知原因网页相应特别慢所以要额外设置get探测请求的响应等待时间


          readinessProbe:
            httpGet:
              path: /login
              port: http
              scheme: HTTP
            initialDelaySeconds: 38
            timeoutSeconds: 2
            periodSeconds: 2
            successThreshold: 1
            failureThreshold: 12
						
						livenessProbe:
            httpGet:
              path: /login
              port: http
              scheme: HTTP
            initialDelaySeconds: 90
            timeoutSeconds: 5
            periodSeconds: 10
            successThreshold: 1
            failureThreshold: 12
						

在 Kubernetes 中,livenessProbe 和 readinessProbe 用于检测 Pod 的健康状况和就绪状态。它们是配置在 Pod 的容器上的探针。以下是你提供的配置参数的解释:
livenessProbe

livenessProbe 用于判断容器是否还在运行。如果探测失败,Kubernetes 会重启容器。这个配置可以帮助自动恢复进入不健康状态的容器。

httpGet: 通过 HTTP GET 请求进行探测。
    path: /login: 请求的路径为 /login。
    port: http: 使用名为 http 的端口。需要确保容器的端口映射中定义了该端口。
    scheme: HTTP: 使用 HTTP 协议。
initialDelaySeconds: 400: 容器启动后等待 400 秒再开始进行探测。这给容器足够的时间进行启动和初始化。
timeoutSeconds: 5: 探测的超时时间为 5 秒。如果在 5 秒内没有响应,探测将被视为失败。
periodSeconds: 10: 每 10 秒进行一次探测。
successThreshold: 1: 探测成功的最小次数。这里表示一次成功就认为容器是活跃的。
failureThreshold: 12: 探测失败的最大次数。如果连续 12 次探测失败,Kubernetes 会认为容器不健康,并重新启动容器。

readinessProbe

readinessProbe 用于判断容器是否已经准备好接受流量。如果探测失败,Kubernetes 会从服务的端点列表中移除该容器。这有助于确保只有就绪的容器才接收请求。

httpGet: 通过 HTTP GET 请求进行探测。
    path: /login: 请求的路径为 /login。
    port: http: 使用名为 http 的端口。需要确保容器的端口映射中定义了该端口。
    scheme: HTTP: 使用 HTTP 协议。
initialDelaySeconds: 300: 容器启动后等待 300 秒再开始进行探测。这给容器足够的时间进行启动和初始化。
timeoutSeconds: 2: 探测的超时时间为 2 秒。如果在 2 秒内没有响应,探测将被视为失败。
periodSeconds: 2: 每 2 秒进行一次探测。
successThreshold: 1: 探测成功的最小次数。这里表示一次成功就认为容器是就绪的。
failureThreshold: 12: 探测失败的最大次数。如果连续 12 次探测失败,Kubernetes 会认为容器未就绪,并将其从服务的端点列表中移除。

总结
livenessProbe 用于确保容器正在运行,如果连续 12 次探测失败,容器会被重启。
readinessProbe 用于确保容器已经准备好接受流量,如果连续 12 次探测失败,容器会被从服务的端点列表中移除。
两个探针都通过 HTTP GET 请求 /login 路径来进行探测,并且使用名为 http 的端口和 HTTP 协议。
配置探针的这些参数可以根据容器的启动时间和健康检查需求进行调整,以确保容器的高可用性和可靠性。


http://www.kler.cn/a/402222.html

相关文章:

  • Ubuntu22.04安装CH343驱动并创建udev规则
  • 优化装配,提升品质:虚拟装配在汽车制造中的关键作用
  • React 远程仓库拉取项目部署,无法部署问题
  • 【金融风控项目-08】:特征构造
  • Excel——宏教程(2)
  • 4-7-1.C# 数据容器 - LinkedList(LinkedList 的定义、LinkedList 结点的遍历、LinkedList 的常用方法)
  • 【leetcode】LCR150.彩灯装饰记录Ⅲ
  • Windsurf:超越 Cursor 的下一代 AI 编程助手
  • 使用C#编写一个控制台应用程序,实现文件的复制功能。
  • 软件工程9、10章小测
  • JavaScript 中,.call()的使用详解
  • Android U 多任务启动分屏——SystemUI流程(更新中)
  • perf使用方法
  • .NET 9 运行时中的新增功能
  • go语言中的切片含义和用法详解
  • (计算机毕设)基于SpringBoot+Vue的房屋租赁系统的设计与实现
  • 共享门店模式:创新零售的新篇章
  • 11.18 Maven-SpringBootWeb入门
  • Spring Boot图书馆管理系统:疫情中的技术实现
  • R环境依赖的备份与恢复全攻略
  • 【PHP小课堂】一起学习PHP中的反射(三)
  • selenium元素定位校验以及遇到的元素操作问题记录
  • OpenAI Adjusts Strategy as ‘GPT’ AI Progress Slow
  • 将大模型生成数据存入Excel,并用增量的方式存入Excel
  • Linux全局替换配置文件的IP
  • 【PyTorch][chapter 28] 揭秘 Transformer:缩放定律指南