升级前检查项
集群升级前,系统将自动进行全面的升级前检查,当集群不满足升级前检查条件时将无法继续升级。为了能够更好地避免升级风险,本文提供全量的升级前检查问题及解决方案,帮助您对可能存在的升级故障进行预处理。
序号 |
检查项名称 |
检查项说明 |
---|---|---|
1 |
|
|
2 |
检查集群是否处于升级管控中。 |
|
3 |
|
|
4 |
检查当前HelmRelease记录中是否含有目标集群版本不支持的K8s废弃API,可能导致升级后helm模板不可用。 |
|
5 |
检查节点池状态是否正常。 |
|
6 |
检查Node节点安全组规则中,协议端口为ICMP:全部,源地址为控制节点安全组的规则是否被删除。 |
|
7 |
检查节点是否需要迁移。 |
|
8 |
检查集群是否存在对应版本已经废弃的资源。 |
|
9 |
请您阅读版本兼容性差异,并确认不受影响。补丁升级不涉及版本兼容性差异。 |
|
10 |
检测当前节点的CCE包管理组件cce-agent是否为最新版本。 |
|
11 |
检查节点CPU使用量是否超过90%。 |
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
检查根目录权限是否正确。 |
|
16 |
检查节点kubelet服务是否运行正常。 |
|
17 |
检查节点内存使用量是否超过90%。 |
|
18 |
检查节点时钟同步服务器ntpd或chronyd是否运行正常。 |
|
19 |
检查节点操作系统内核版本是否为CCE支持的版本。 |
|
20 |
检查您的集群控制节点的CPU核心数量,要求控制节点的核心数量大于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及以上版本时,将对您的节点上的Kubernetes组件的配置进行检查,检查您是否后台修改过配置文件。 |
|
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 |
检查到本次升级涉及CCE AI套件(NVIDIA GPU)插件,可能影响新建GPU节点时GPU驱动的安装。 |
|
51 |
检查您节点上默认系统参数是否被修改。 |
|
52 |
检查当前集群中是否存在残留的packageversion。 |
|
53 |
检查节点中是否存在升级所必须的命令。 |
|
54 |
检查集群节点上是否开启交换区。 |
|
55 |
检查NGINX Ingress控制器插件升级路径是否涉及兼容问题。 |
|
56 |
检查当前集群内使用containerd的节点在升级containerd组件时,节点上运行的业务容器是否可能发生重启,造成业务影响。 |
|
57 |
检查CCE AI套件(NVIDIA GPU)插件中部分配置是否被侵入式修改,被侵入式修改的插件可能导致升级失败。 |
|
58 |
检查当前集群升级重启kubelet时,节点上运行的GPU/NPU业务容器是否可能发生重建,造成业务影响。 |
|
59 |
若有配置访问控制则检查相关配置项是否正确。 |
|
60 |
检查本次升级集群的控制节点规格与实际的控制节点规格是否一致。 |
|
61 |
检查本次升级集群子网剩余可用IP数量是否支持滚动升级。 |
|
62 |
该告警通常发生在低版本集群升级到v1.27及以上集群。CCE不建议您在1.27以上版本集群中继续使用docker,并计划在未来移除对docker的支持。 |
|
63 |
该告警通常发生在低版本集群升级到v1.27及以上集群。CCE不建议您在1.27以上版本集群中继续使用docker,并计划在未来移除对docker的支持。 |
|
64 |
检查到您的节点上镜像数量过多(>1000个),可能导致docker启动过慢,影响docker标准输出,影响nginx等功能的正常使用。 |
|
65 |
检查集群升级时,OpenKruise插件是否存在兼容性问题。 |
|
66 |
检查本次升级的目标版本是否支持Secret落盘加密特性,若不支持则不允许开启Secret落盘加密特性的集群升级至该版本。 |
|
67 |
检查到集群中同时使用CCE AI套件(NVIDIA GPU)插件和Ubuntu节点,提醒客户存在可能的兼容性问题。当Ubuntu内核版本在5.15.0-113-generic上时,GPU插件必须使用535.161.08及以上的驱动版本。 |
|
68 |
检查到集群中存在未完成的排水任务,此时升级可能会导致升级完成后触发排水动作,将运行中的Pod进行驱逐。 |
|
69 |
检查到您的节点上镜像层数量过多(>5000层),可能导致docker/containerd启动过慢,影响docker/containerd标准输出。 |
|
70 |
检查到您的集群暂时不满足滚动升级条件。 |
|
71 |
检查您节点上的证书数量过多(>1000),由于升级过程中会批量处理证书文件,证书文件过多可能导致节点升级过慢,节点上Pod被驱逐等。 |
|
72 |
检查到您集群中Ingress配置与ELB配置不一致,请确认是否在ELB侧修改过Ingress自动创建的监听器、转发策略、转发规则、后端云服务器组、后端云服务器和证书配置。 |
|
73 |
检查您集群网络组件的NetworkPolicy开关配置,如果您在集群控制节点上对NetworkPolicy开关进行过手动修改,那么升级过程中该配置会被刷新成默认值。 |
|
74 |
检查当前集群中网络组件配置(eni)中节点预热容器网卡回收阈值(nic-max-above-warm-target)是否超过允许设置的最大值。 |
|
75 |
检查到您集群中控制节点实际时区与集群时区不一致,滚动升级后控制节点上的时区会变为集群时区。 |
|
76 |
检查SnatIPRanges在升级前后是否发生变化。仅CCE Turbo集群涉及。 |
|
77 |
如果您未通过CCE控制台或API,而是直接修改插件的配置参数(一般是configmap),则在插件升级时,这些手动修改的配置可能会被覆盖,从而影响业务运行 |