更新时间:2024-12-18 GMT+08:00

升级前检查项

集群升级前,系统将自动进行全面的升级前检查,当集群不满足升级前检查条件时将无法继续升级。为了能够更好地避免升级风险,本文提供全量的升级前检查问题及解决方案,帮助您对可能存在的升级故障进行预处理。

表1 检查项列表

序号

检查项名称

检查项说明

1

节点限制检查

  • 检查节点是否可用
  • 检查节点操作系统是否支持升级
  • 检查节点是否含有非预期的节点池标签
  • 检查K8s节点名称是否与云服务器保持一致

2

升级管控检查

检查集群是否处于升级管控中。

3

插件检查

  • 检查插件状态是否正常
  • 检查插件是否支持目标版本

4

Helm模板检查

检查当前HelmRelease记录中是否含有目标集群版本不支持的K8s废弃API,可能导致升级后helm模板不可用。

5

Master节点SSH连通性检查异常处理

该检查通过尝试建立SSH连接,检查CCE是否能通过SSH方式连接至您的Master节点。

6

节点池检查

检查节点池状态是否正常。

7

安全组检查

检查Node节点安全组规则中,协议端口为ICMP:全部,源地址为Master节点安全组的规则是否被删除。

8

ARM节点限制检查

  • 检查集群是否包含ARM架构的节点。

9

残留待迁移节点检查

检查节点是否需要迁移。

10

K8s废弃资源检查

检查集群是否存在对应版本已经废弃的资源。

11

兼容性风险检查

请您阅读版本兼容性差异,并确认不受影响。补丁升级不涉及版本兼容性差异。

12

节点CCE Agent版本检查

检测当前节点的CCE包管理组件cce-agent是否为最新版本。

13

节点CPU使用率检查

检查节点CPU使用情况,是否超过90%。

14

CRD检查

  • 检查集群关键CRD "packageversions.version.cce.io"是否被删除。
  • 检查集群关键CRD "network-attachment-definitions.k8s.cni.cncf.io"是否被删除。

15

节点磁盘检查

  • 检查节点关键数据盘使用量是否满足升级要求
  • 检查/tmp目录是否存在500MB可用空间

16

节点DNS检查

  • 检查当前节点DNS配置是否能正常解析OBS地址
  • 检查当前节点是否能访问存储升级组件包的OBS地址

17

节点关键目录文件权限检查

检查CCE使用的目录/var/paas内文件的属主和属组是否都为paas。

18

节点Kubelet检查

检查节点kubelet服务是否运行正常。

19

节点内存检查

检查节点内存使用情况,是否超过90%。

20

节点时钟同步服务器检查

检查节点时钟同步服务器ntpd或chronyd是否运行正常。

21

节点OS检查

检查节点操作系统内核版本是否为CCE支持的版本。

22

节点CPU数量检查异常处理

检查您的集群Master节点的CPU核心数量,要求Master节点的核心数量大于2核。

23

节点Python命令检查

检查Node节点中Python命令是否可用。

24

ASM网格版本检查

  • 检查集群是否使用ASM网格服务
  • 检查当前ASM版本是否支持目标集群版本

25

节点Ready检查

检查集群内节点是否Ready。

26

节点journald检查

检查节点上的journald状态是否正常。

27

节点干扰ContainerdSock检查

检查节点上是否存在干扰的Containerd.Sock文件。该文件影响euler操作系统下的容器运行时启动。

28

内部错误异常处理

该检查非常规检查项,表示升级前检查流程中出现了内部错误。

29

节点挂载点检查

检查节点上是否存在不可访问的挂载点。

30

K8s节点污点检查

检查节点上是否存在集群升级需要使用到的污点。

31

everest插件版本限制检查

检查集群当前everest插件版本是否存在兼容性限制。

32

cce-hpa-controller插件限制检查异常处理

检查cce-controller-hpa插件的目标版本是否存在兼容性限制。

33

增强型CPU管理策略检查

检查当前集群版本和要升级的目标版本是否支持增强型CPU管理策略

34

用户节点组件健康检查异常处理

检查用户节点的容器运行时组件和网络组件等是否健康。

35

控制节点组件健康检查异常处理

检查集群中的Kubernetes组件、容器运行时组件、网络组件等组件,要求在升级前以上组件运行正常。

36

K8s组件内存资源限制检查

检查K8s组件例如etcd、kube-controller-manager等组件是否资源超出限制。

37

K8s废弃API检查

系统会扫描过去一天的审计日志,检查用户是否调用目标K8s版本已废弃的API。
说明:

由于审计日志的时间范围有限,该检查项仅作为辅助手段,集群中可能已使用即将废弃的API,但未在过去一天的审计日志中体现,请您充分排查。

38

节点NetworkManager检查

检查节点上的NetworkManager状态是否正常。

39

节点ID文件检查

检查节点的ID文件内容是否符合格式。

40

节点配置一致性检查

在升级集群版本至v1.19及以上版本时,将对您的节点上的Kubenertes组件的配置进行检查,检查您是否后台修改过配置文件。

41

节点配置文件检查

检查节点上关键组件的配置文件是否存在。

42

CoreDNS配置一致性检查

检查当前CoreDNS关键配置Corefile是否同Helm Release记录存在差异,差异的部分可能在插件升级时被覆盖,影响集群内部域名解析

43

节点Sudo检查

检查当前节点sudo命令,sudo相关文件是否正常。

44

节点关键命令检查

检查节点升级依赖的一些关键命令是否能正常执行。

45

节点sock文件挂载检查

检查节点上的Pod是否直接挂载docker/containerd.sock文件。升级过程中Docker/Containerd将会重启,宿主机sock文件发生变化,但是容器内的sock文件不会随之变化,二者不匹配,导致您的业务无法访问Docker/Containerd。Pod重建后sock文件重新挂载,可恢复正常。

46

HTTPS类型负载均衡证书一致性检查

检查HTTPS类型负载均衡所使用的证书,是否在ELB服务侧被修改。

47

节点挂载检查

检查节点上默认挂载目录及软链接是否被手动挂载或修改。

48

节点paas用户登录权限检查

检查paas用户是否有登录权限。

49

ELB IPv4私网地址检查

检查集群内负载均衡类型的Service所关联的ELB实例是否包含IPv4私网IP。

50

检查历史升级记录是否满足升级条件

检查集群的历史升级记录,要求您的集群原始版本满足升级到目标集群版本的条件。

51

检查集群管理平面网段是否与主干配置一致

检查集群管理平面网段是否与主干配置一致。

52

GPU插件检查

检查到本次升级涉及GPU插件,可能影响新建GPU节点时GPU驱动的安装。

53

节点系统参数检查异常处理

检查您节点上默认系统参数是否被修改。

54

残留packageversion检查

检查当前集群中是否存在残留的packageversion。

55

节点命令行检查

检查节点中是否存在升级所必须的命令。

56

节点交换区检查异常处理

检查集群节点上是否开启交换区。

57

nginx-ingress插件升级检查

检查nginx-ingress插件升级路径是否涉及兼容问题。

58

云原生监控插件升级检查异常处理

在集群升级过程中,云原生监控插件从3.9.0之前的版本升级至3.9.0之后的版本升级时,存在兼容性问题,需检查该插件是否开启了grafana的开关。

59

Containerd Pod重启风险检查异常处理

检查当前集群内使用containerd的节点在升级containerd组件时,节点上运行的业务容器是否可能发生重启,造成业务影响。

60

GPU插件关键参数检查异常处理

检查CCE GPU插件中部分配置是否被侵入式修改,被侵入式修改的插件可能导致升级失败。

61

GPU/NPU Pod重建风险检查异常处理

检查当前集群升级重启kubelet时,节点上运行的GPU/NPU业务容器是否可能发生重建,造成业务影响。

62

ELB监听器访问控制配置项检查异常处理

若有配置访问控制则检查相关配置项是否正确。

63

Master节点规格检查异常处理

检查本次升级集群的Master节点规格与实际的Master节点规格是否一致。

64

Master节点子网配额检查异常处理

检查本次升级集群子网剩余可用IP数量是否支持滚动升级。

65

节点运行时检查异常处理

该告警通常发生在低版本集群升级到v1.27及以上集群。CCE不建议您在1.27以上版本集群中继续使用docker,并计划在未来移除对docker的支持。

66

节点池运行时检查异常处理

该告警通常发生在低版本集群升级到v1.27及以上集群。CCE不建议您在1.27以上版本集群中继续使用docker,并计划在未来移除对docker的支持。

67

检查节点镜像数量异常处理

检查到您的节点上镜像数量过多(>1000个),可能导致docker启动过慢,影响docker标准输出,影响nginx等功能的正常使用。