传奇广告查询第一站 同步gm1.com

一键检测 Rancher 导入K8S集群是否健康的脚本(亲测实用)
原创 于2026-01-05 18:07:00发布
10 阅读
0
0

下面是一个 Rancher 导入集群健康检测 的一键脚本,能帮快速判断:

1、检查内容

  1. 节点是否正常(Ready / NotReady)

  2. 核心系统 Pod(CoreDNS、Calico、Kube-Proxy 等)是否正常

  3. Rancher 相关 Pod(cattle-cluster-agent、cattle-node-agent)是否正常

  4. 集群到 Rancher Server 的网络连通性(443 端口)

  5. 证书有效期(防止因 TLS 过期导致导入集群断线)

2、完整脚本rancher_cluster_check.sh

脚本内容(rancher_cluster_check.sh)

# Rancher 导入集群健康检测脚本 # 用法: ./rancher_cluster_check.sh  RANCHER_SERVER=$1 if [ -z "$RANCHER_SERVER" ]; then echo "用法: $0 " exit 1 fi echo "===== 1. 检查节点状态 =====" kubectl get nodes -o wide echo echo "===== 2. 检查系统命名空间 Pod 状态 =====" kubectl get pods -n kube-system -o wide echo echo "===== 3. 检查 Rancher Agent Pod 状态 =====" kubectl get pods -n cattle-system -o wide echo echo "===== 4. 查看 Cluster Agent 日志(最近20行) =====" CLUSTER_AGENT=$(kubectl get pods -n cattle-system | grep cattle-cluster-agent | awk '{print $1}') if [ -n "$CLUSTER_AGENT" ]; then kubectl logs -n cattle-system $CLUSTER_AGENT --tail=20 else echo "未找到 cattle-cluster-agent Pod" fi echo echo "===== 5. 查看 Node Agent 日志(最近20行) =====" NODE_AGENT=$(kubectl get pods -n cattle-system | grep cattle-node-agent | head -n 1 | awk '{print $1}') if [ -n "$NODE_AGENT" ]; then kubectl logs -n cattle-system $NODE_AGENT --tail=20 else echo "未找到 cattle-node-agent Pod" fi echo echo "===== 6. 测试到 Rancher Server 的连通性(443端口) =====" nc -vz $RANCHER_SERVER 443 echo echo "===== 7. 检查 Rancher Server 证书有效期 =====" echo | openssl s_client -connect $RANCHER_SERVER:443 -servername $RANCHER_SERVER 2>/dev/null | openssl x509 -noout -dates echo echo "===== 检查完成 =====" 

3、使用方法

保存脚本

vi rancher_cluster_check.sh 
# 粘贴脚本 chmod +x rancher_cluster_check.sh 

在这里插入图片描述

执行检测(假设 Rancher Server 是 192.168.31.203)

./rancher_cluster_check.sh 192.168.31.203 

4、结果验证

运行结果会输出:

  1. 节点健康(Ready/NotReady)

  2. 系统 Pod(Calico、CoreDNS 等 Running 状态)

  3. Rancher Agent 状态(是否在运行)

  4. 网络连通性(能否访问 Rancher 443 端口)

  5. 证书过期时间

在这里插入图片描述

在这里插入图片描述

5、错误处理

===== 4. 查看 Cluster Agent 日志(最近20行) ===== error: container cattle-cluster-agent-685bcd94df-zshpx is not valid for pod cattle-cluster-agent-685bcd94df-kj8bc ===== 5. 查看 Node Agent 日志(最近20行) ===== 未找到 cattle-node-agent Pod 

5.1、Cluster Agent 日志无法查看

error: container cattle-cluster-agent-685bcd94df-zshpx is not valid for pod cattle-cluster-agent-685bcd94df-kj8bc 

这说明你在 kubectl logs 时给的容器名或 Pod 名不匹配。

Pod 名:cattle-cluster-agent-685bcd94df-kj8bc

容器名可能是 cluster-register 或 cattle-cluster-agent,而不是你现在传的那个。
你可以用:

kubectl -n cattle-system describe pod cattle-cluster-agent-685bcd94df-kj8bc | grep -A 2 "Containers:" 

来看这个 Pod 里到底有哪些容器名,然后再用:

kubectl -n cattle-system logs cattle-cluster-agent-685bcd94df-kj8bc -c 容器名 --tail=20 

5.2、Node Agent 不存在

未找到 cattle-node-agent Pod 

这个问题一般有两种可能:

你导入的集群只有控制平面节点,没有部署 node agent(可能是因为 agent 没安装成功,或者节点标签不对)。

如果是 自建 K8s 集群,Node Agent DaemonSet 没有起来,可以这样查:

kubectl -n cattle-system get daemonset cattle-node-agent 

如果 DESIRED 是 0,说明 Rancher 没能调度到节点;如果是 1/1 但 Pod 没有,可能是节点污点或调度失败。

常见解决步骤

先看 Cluster Agent 是否正常运行:

kubectl -n cattle-system get pods -o wide 

如果 CrashLoopBackOff 或 ImagePullBackOff,说明镜像拉取或权限问题。

如果 Node Agent 缺失,可以尝试重新导入集群,或者手动执行 Rancher 提供的 kubectl apply -f 脚本。

在这里插入图片描述
这里pods都是running状态,没问题了。

在这里插入图片描述


“人的一生会经历很多痛苦,但回头想想,都是传奇”。


管理员
0
0
0
分享
上一篇: 分享一个编写传奇封外挂(反外挂)系统的完成过程 - 完整结合综合应用[原创]
下一篇: 易语言开发的老王牌脚本编辑器及源码
评论
历史记录
回顶部
浏览时间 游戏名称 游戏IP 开区网址
注册1GM论坛账号
  • 上传头像
注册

已有账号,

微信扫码登录
重置密码
重置密码

注册

绑定关联手机号
关联手机号