Performing Pre-upgrade Check

The system performs a comprehensive pre-upgrade check before the cluster upgrade. If the cluster does not meet the pre-upgrade check conditions, the upgrade cannot continue. To prevent upgrade risks, you can perform pre-upgrade check according to the check items provided by this section.

Table 1 Check items

Check Item

Description

Checking the Node

  • Check whether the node is available.
  • Check whether the node OS supports the upgrade.
  • Check whether there are unexpected node pool tags in the node.
  • Check whether the Kubernetes node name is consistent with the ECS name.

Checking the Blocklist

Check whether the current user is in the upgrade blocklist.

Checking the Add-on

  • Check whether the add-on status is normal.
  • Check whether the add-on support the target version.

Checking the Helm Chart

Check whether the current HelmRelease record contains discarded Kubernetes APIs that are not supported by the target cluster version. If yes, the Helm chart may be unavailable after the upgrade.

Checking the Master Node SSH Connectivity

Check whether CCE can connect to your master nodes.

Checking the Node Pool

  • Check the node status.
  • Check whether the auto scaling function of the node pool is disabled.

Checking the Security Group

Check whether the security group allows the master node to access nodes using ICMP.

To-Be-Migrated Node

Check whether the node needs to be migrated.

Discarded Kubernetes Resource

Check whether there are discarded resources in the clusters.

Compatibility Risk

Read the version compatibility differences and ensure that they are not affected.

Node CCEAgent Version

Check whether cce-agent on the current node is of the latest version.

Node CPU Usage

Check whether the CPU usage of the node exceeds 90%.

CRD Check

  • Check whether the key CRD packageversions.version.cce.io of the cluster is deleted.
  • Check whether the cluster key CRD network-attachment-definitions.k8s.cni.cncf.io is deleted.

Node Disk

  • Check whether the key data disks on the node meet the upgrade requirements.
  • Check whether the /tmp directory has 500 MB available space.

Node DNS

  • Check whether the DNS configuration of the current node can resolve the OBS address.
  • Check whether the current node can access the OBS address of the storage upgrade component package.

Node Key Directory File Permissions

Check whether the key directory /var/paas on the nodes contain files with abnormal owners or owner groups.

Kubelet

Check whether the kubelet on the node is running properly.

Node Memory

Check whether the memory usage of the node exceeds 90%.

Node Clock Synchronization Server

Check whether the clock synchronization server ntpd or chronyd of the node is running properly.

Node OS

Check whether the OS kernel version of the node is supported by CCE.

Node CPU Count

Check whether the number of CPUs on the master node is greater than 2.

Node Python Command

Check whether the Python commands are available on a node.

Node Readiness

Check whether the nodes in the cluster are ready.

Node journald

Check whether journald of a node is normal.

containerd.sock Check

Check whether the containerd.sock file exists on the node. This file affects the startup of container runtime in the Euler OS.

Internal Error

Before the upgrade, check whether an internal error occurs.

Node Mount Point

Check whether inaccessible mount points exist on the node.

Kubernetes Node Taint

Check whether the taint needed for cluster upgrade exists on the node.

everest Restriction Check

Check whether the current everest add-on has compatibility restrictions.

cce-hpa-controller Restriction Check

Check whether the current cce-controller-hpa add-on has compatibility restrictions.

Enhanced CPU Management Policy

Check whether the current cluster version and the target version support enhanced CPU policy.

User Node Components Health

Check whether the container runtime and network components on the user node are healthy.

Controller Node Components Health

Check whether the Kubernetes, container runtime, and network components of the controller node are healthy.

Memory Resource Limit of Kubernetes Components

Check whether the resources of Kubernetes components, such as etcd and kube-controller-manager, exceed the upper limit.

Checking Deprecated Kubernetes APIs

Check whether the called API has been discarded in the target Kubernetes version.

IPv6 Capability of a CCE Turbo Cluster

If IPv6 is enabled for a CCE Turbo cluster, check whether the target cluster version supports IPv6.

Node NetworkManager

Check whether NetworkManager of a node is normal.

Node ID File

Check the ID file format.

Node Configuration Consistency

When you upgrade a CCE cluster to v1.19 or later, the system checks whether the following configuration files have been modified in the background:

Node Configuration File

Check whether the configuration files of key components exist on the node.

Checking CoreDNS Configuration Consistency

Check whether the current CoreDNS key configuration Corefile is different from the Helm release record. The difference may be overwritten during the add-on upgrade, affecting domain name resolution in the cluster.