kubesphere问题处理:devops

devtools/2024/11/22 9:26:31/

一、背景介绍

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: /loginport: httpscheme: HTTPinitialDelaySeconds: 38timeoutSeconds: 2periodSeconds: 2successThreshold: 1failureThreshold: 12livenessProbe:httpGet:path: /loginport: httpscheme: HTTPinitialDelaySeconds: 90timeoutSeconds: 5periodSeconds: 10successThreshold: 1failureThreshold: 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.ppmy.cn/devtools/135976.html

相关文章

HBase Flink操作

Apache Flink 是一个开源的分布式流处理框架,能够高效地处理和分析实时数据流以及批数据。HBase 是一个分布式、面向列的开源数据库,是 Hadoop 项目的子项目,适合非结构化数据结构的存储,并提供实时读写能力。以下是关于 Flink 对…

大语言模型中ReLU函数的计算过程及其函数介绍

文章目录 概要ReLU定义 概要 **ReLU 作用:**主要用于为神经网络引入非线性能力,作用是将输入中的整数保留原值,负数置为 0。 从而在层与层之间引入非线性,使神经网络能够拟合复杂的非线性关系。 **ReLU使用场景:**Lla…

Mac下的vscode远程ssh免密码登录

Mac下的vscode远程ssh免密码登录(同理可迁移至windows及linux系统) 在日常开发中,使用远程服务器进行开发是非常常见的,而通过 SSH 免密码登录可以显著提高效率,避免每次连接时都需要输入密码。本文将介绍如何在 macOS…

js:对象转换为数组

例子:现在有对象 let data { a: 1, b: 2, c: 3 } 1、将键值对的键转换为新数组 需要将键转换为数组,即[a,b,c] 获取所有键的数组 使用Object.keys()方法来获取一个包含对象所有键的数组。 let data {a:1,b:2,c:3 } let keysArray Object.keys(dat…

[免费]SpringBoot+Vue毕业设计论文管理系统【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的SpringBootVue毕业设计论文管理系统,分享下哈。 项目视频演示 【免费】SpringBootVue毕业设计论文管理系统 Java毕业设计_哔哩哔哩_bilibili 项目介绍 现代经济快节奏发展以及不断完善升级的信…

微信小程序点击跳转打电话功能

wx.makePhoneCall 属性类型默认值必填说明phoneNumberstring是需要拨打的电话号码successfunction否接口调用成功的回调函数failfunction否接口调用失败的回调函数completefunction否接口调用结束的回调函数&#xff08;调用成功、失败都会执行&#xff09; <view class&q…

.NET 9 中 LINQ 新增功能实操

LINQ 介绍 语言集成查询 (LINQ) 是一系列直接将查询功能集成到 C# 语言的技术统称。 数据查询历来都表示为简单的字符串&#xff0c;没有编译时类型检查或 IntelliSense 支持。 此外&#xff0c;需要针对每种类型的数据源了解不同的查询语言&#xff1a;SQL 数据库、XML 文档、…

QT中QString类的各种使用

大部分的QString使用可以参考:QT中QString 类的使用--获取指定字符位置、截取子字符串等_qstring 取子串-CSDN博客 补充一种QString类的分离:Qt QString切割(Split()与Mid()函数详解)_qstring split-CSDN博客 1. Trimmed和Simplified函数(去除空白) trimmed&#xff1a;去除了…