升级前检查项
集群升级前,系统将自动进行全面的升级前检查,当集群不满足升级前检查条件时将无法继续升级。为了能够更好地避免升级风险,本文提供全量的升级前检查问题及解决方案,帮助您对可能存在的升级故障进行预处理。
序号 |
检查项名称 |
检查项说明 |
---|---|---|
1 |
|
|
2 |
检查集群是否处于升级管控中。 |
|
3 |
|
|
4 |
检查当前HelmRelease记录中是否含有目标集群版本不支持的K8s废弃API,可能导致升级后helm模板不可用。 |
|
5 |
该检查通过尝试建立SSH连接,检查CCE是否能通过SSH方式连接至您的Master节点。 |
|
6 |
检查Node节点安全组规则中,协议端口为ICMP:全部,源地址为Master节点安全组的规则是否被删除。 |
|
7 |
检查节点是否需要迁移。 |
|
8 |
检查集群是否存在对应版本已经废弃的资源。 |
|
9 |
请您阅读版本兼容性差异,并确认不受影响。补丁升级不涉及版本兼容性差异。 |
|
10 |
检测当前节点的CCE包管理组件cce-agent是否为最新版本。 |
|
11 |
检查节点CPU使用量是否超过90%。 |
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
检查CCE使用的目录/var/paas内文件的属主和属组是否都为paas。 |
|
16 |
检查节点kubelet服务是否运行正常。 |
|
17 |
检查节点内存使用量是否超过90%。 |
|
18 |
检查节点时钟同步服务器ntpd或chronyd是否运行正常。 |
|
19 |
检查节点操作系统内核版本是否为CCE支持的版本。 |
|
20 |
检查您的集群Master节点的CPU核心数量,要求Master节点的核心数量大于2核。 |
|
21 |
检查Node节点中Python命令是否可用。 |
|
22 |
|
|
23 |
检查集群内节点是否Ready。 |
|
24 |
检查节点上的journald状态是否正常。 |
|
25 |
检查节点上是否存在干扰的Containerd.Sock文件。该文件影响Euler操作系统下的容器运行时启动。 |
|
26 |
该检查非常规检查项,表示升级前检查流程中出现了内部错误。 |
|
27 |
检查节点上是否存在不可访问的挂载点。 |
|
28 |
检查节点上是否存在集群升级需要使用到的污点。 |
|
29 |
检查集群当前everest插件版本是否存在兼容性限制。 |
|
30 |
检查cce-controller-hpa插件的目标版本是否存在兼容性限制。 |
|
31 |
检查当前集群版本和要升级的目标版本是否支持增强型CPU管理策略。 |
|
32 |
检查用户节点的容器运行时组件和网络组件等是否健康。 |
|
33 |
检查集群中的Kubernetes组件、容器运行时组件、网络组件等组件,要求在升级前以上组件运行正常。 |
|
34 |
检查K8s组件例如etcd、kube-controller-manager等组件是否资源超出限制。 |
|
35 |
系统会扫描过去一天的审计日志,检查用户是否调用目标K8s版本已废弃的API。
说明:
由于审计日志的时间范围有限,该检查项仅作为辅助手段,集群中可能已使用即将废弃的API,但未在过去一天的审计日志中体现,请您充分排查。 |
|
36 |
检查节点上的NetworkManager状态是否正常。 |
|
37 |
检查节点的ID文件内容是否符合格式。 |
|
38 |
在升级集群版本至v1.19及以上版本时,将对您的节点上的Kubenertes组件的配置进行检查,检查您是否后台修改过配置文件。 |
|
39 |
检查节点上关键组件的配置文件是否存在。 |
|
40 |
检查当前CoreDNS关键配置Corefile是否同Helm Release记录存在差异,差异的部分可能在插件升级时被覆盖,影响集群内部域名解析。 |
|
41 |
检查当前节点sudo命令,sudo相关文件是否正常。 |
|
42 |
检查节点升级依赖的一些关键命令是否能正常执行。 |
|
43 |
检查节点上的Pod是否直接挂载docker/containerd.sock文件。升级过程中Docker/Containerd将会重启,宿主机sock文件发生变化,但是容器内的sock文件不会随之变化,二者不匹配,导致您的业务无法访问Docker/Containerd。Pod重建后sock文件重新挂载,可恢复正常。 |
|
44 |
检查HTTPS类型负载均衡所使用的证书,是否在ELB服务侧被修改。 |
|
45 |
检查节点上默认挂载目录及软链接是否被手动挂载或修改。 |
|
46 |
检查paas用户是否有登录权限。 |
|
47 |
检查集群内负载均衡类型的Service所关联的ELB实例是否包含IPv4私网IP。 |
|
48 |
检查集群的历史升级记录,要求您的集群原始版本满足升级到目标集群版本的条件。 |
|
49 |
检查集群管理平面网段是否与主干配置一致。 |
|
50 |
检查到本次升级涉及GPU插件,可能影响新建GPU节点时GPU驱动的安装。 |
|
51 |
检查您节点上默认系统参数是否被修改。 |
|
52 |
检查当前集群中是否存在残留的packageversion。 |
|
53 |
检查节点中是否存在升级所必须的命令。 |
|
54 |
检查集群节点上是否开启交换区。 |
|
55 |
检查NGINX Ingress控制器插件升级路径是否涉及兼容问题。 |
|
56 |
在集群升级过程中,云原生监控插件从3.9.0之前的版本升级至3.9.0之后的版本升级时,存在兼容性问题,需检查该插件是否开启了grafana的开关。 |
|
57 |
检查当前集群内使用containerd的节点在升级containerd组件时,节点上运行的业务容器是否可能发生重启,造成业务影响。 |
|
58 |
检查CCE GPU插件中部分配置是否被侵入式修改,被侵入式修改的插件可能导致升级失败。 |
|
59 |
检查当前集群升级重启kubelet时,节点上运行的GPU/NPU业务容器是否可能发生重建,造成业务影响。 |
|
60 |
若有配置访问控制则检查相关配置项是否正确。 |
|
61 |
检查本次升级集群的Master节点规格与实际的Master节点规格是否一致。 |
|
62 |
检查本次升级集群子网剩余可用IP数量是否支持滚动升级。 |
|
63 |
该告警通常发生在低版本集群升级到v1.27及以上集群。CCE不建议您在1.27以上版本集群中继续使用docker,并计划在未来移除对docker的支持。 |
|
64 |
该告警通常发生在低版本集群升级到v1.27及以上集群。CCE不建议您在1.27以上版本集群中继续使用docker,并计划在未来移除对docker的支持。 |
|
65 |
检查到您的节点上镜像数量过多(>1000个),可能导致docker启动过慢,影响docker标准输出,影响nginx等功能的正常使用。 |
|
66 |
检查集群升级时,OpenKruise插件是否存在兼容性问题。 |
|
67 |
检查本次升级的目标版本是否支持Secret落盘加密特性,若不支持则不允许开启Secret落盘加密特性的集群升级至该版本。 |
|
68 |
检查到集群中同时使用GPU插件和Ubuntu节点,提醒客户存在可能的兼容性问题。当Ubuntu内核版本在5.15.0-113-generic上时,GPU插件必须使用535.161.08及以上的驱动版本。 |
|
69 |
检查到集群中存在未完成的排水任务,此时升级可能会导致升级完成后触发排水动作,将运行中的Pod进行驱逐。 |
|
70 |
检查到您的节点上镜像层数量过多(>5000层),可能导致docker/containerd启动过慢,影响docker/containerd标准输出。 |
|
71 |
检查到您的集群暂时不满足滚动升级条件。 |
|
72 |
检查您节点上的证书数量过多(>1000),由于升级过程中会批量处理证书文件,证书文件过多可能导致节点升级过慢,节点上Pod被驱逐等。 |