Docs
uk8s
Cluster Network
Underlay Network Based on UVPC
CNI Network Plugin Upgrade

CNI Network Plugin Upgrade

The CNI (Container Network Interface) provided by UK8S is implemented based on the {{channelName}} VPC network, and therefore will be updated synchronously with the iteration of VPC features to enhance the stability and performance of the container network. UK8S provides the function of online upgrading CNI. The plugin upgrade will not affect the existing Pod network. After the successful upgrade of CNI:

  1. The network features implemented will apply to newly requested Pods;
  2. If the old Pod also needs to obtain the corresponding network features, it will need to undergo a rolling upgrade to trigger Pod reconstruction;

Below we will introduce how to upgrade the network plugins online.

1. Network plugin upgrade

In the UK8S cluster console management page “Plugins-Network Plugins” page, open the CNI network plugin upgrade function, opening the CNI plugin upgrade function will execute the CNI plugin query task in the cluster, which takes about 3 minutes. Do not operate the cluster during this process. After the upgrade function is enabled, you can see the CNI plugin version information, and click “Upgrade CNI” to upgrade.

If you cannot view the CNI version information on the console page, please execute /opt/cni/bin/cnivpc version on any node in the cluster to view.

The upgrade process takes about 1-3 minutes. During the upgrade process, the “current version” field will be displayed as “upgrading”, and the latest version number will be displayed after the upgrade. If the upgrade fails, you can try “forced upgrade” or contact our technical support. Some nodes may not be able to obtain the “Current CNI Version” due to version reasons. Just click on force upgrade.

Supports single node and batch upgrade, it is recommended to upgrade a single node first. If the upgrade is successful, then proceed with the batch upgrade. When all nodes have been successfully upgraded, you can close the plugin upgrade service and reopen it when there is an upgrade requirement in the future.

For non-maintenance version clusters, CNI cannot be upgraded to the latest version, and it can only be upgraded to LTS (Long Term Support) version. For more details, see: Cluster Version Maintenance Instructions.

⚠️ Please do not perform operations such as service release during the cluster network plugin upgrade

2. ipamd plugin upgrade

ipamd does not yet support upgrade through the console.

If the “Fixed IP Management” feature has been enabled, you can upgrade the ipamd plugin through the “Fixed IP Management” page.

If you are not using the “Fixed IP Management” feature, you can upgrade the ipamd version to the latest through the following operations.

# Specify the latest version, please refer to the version record below
ipamd_version=1.3.0
kubectl set image daemonset/cni-vpc-ipamd -n kube-system cni-vpc-ipamd=uhub.{{domainName}}/uk8s/cni-vpc-ipamd:$ipamd_version

3. Network Plugin Update Summary

The version update records below may be delayed. If you want to get the latest CNI update log and all source code, please visit our open source repository: uk8s-cni-vpc.

️️ ⚠️ Versions with a -lts suffix represent long-term maintenance versions, which only include fixes for major BUGs and do not include new features.

VersionTypeUpdate InstructionRelease Date
1.3.0Feature1. Adapt to 1.26 cluster
2. Check availability through VPC before assigning pod ip to prevent Pod from getting unavailable IP causing network unavailability
19th June 2024
1.2.3BugfixFix the problem that exist when ipamd is not used and the fixed IP function is used.23rd November 2023
1.2.2FeatureAdapt to bare metal type nodes.22nd August 2023
1.2.1BugfixFix the problem that pod ip may be mistakenly allocated to other cloud host virtual network cards under certain scenarios.22nd August 2023
1.2.0Feature1. For safety, completely remove the GC related logic in CNI, add a new cnivpctl command line, and move GC and some other debug commands to the command line tool.
2. Through the persistent IP pool, fix the IP leakage problem caused by ipamd exiting unexpectedly.
3. Avoid duplicate addition of pod route rules when using network policy, which causes errors.
18th July 2023
1.0.3-ltsLTSFix the issue that pod ip may be mistakenly allocated to virtual network cards on other hosts under certain circumstances.22nd August 2023
1.0.2BugfixIgnore EINTR error when detecting IP conflicts to prevent false positives.16th January 2023
1.0.1BugfixFix the failure of ipamd to refresh token when applying for IP, causing the call to fail.4th January 2022
1.0.0Feature1. CNI is officially open sourced, address: uk8s-cni-vpc.
2. Refactor related code of ipamd, add watermark control, IP shift, and other related features. ipamd will be the default component.
29th December 2022
22.05.1EnhancementAccording to rfc5227, conflict detection is performed on the private IP obtained when creating a Pod. If the conflict persists after a certain number of retries, the current IP will be released and a new IP will be applied.30th May 2022
22.04.1FeatureChange ip_local_port_range to 32768 ~ 60999.1st April 2022
21.12.2Featureipamd supports the calico policy feature. The IP will be written into the annotation of the Pod, and calico can perceive this IP to issue rules in time.28th December 2021
21.12.1Enhancement1. Optimized ipamd IP application process, ipamd will immediately send garp after applying to IP ;
2. Optimized the process of getting mac when releasing IP.
14th December 2021
21.10.1Bugfix1. Fixed the issue that the fixed IP was accidentally released, causing the StatefulSet Pod to be unavailable;
2. Fixed the problem where CNI preemptive file lock timeout caused IP release failure;
3. After the IPAMD plugin is enabled, it will use it by default to manage IP.
4th November 2021
21.07.1BugfixSolved the problem that some nodes cannot get CNI version1st July 2021
21.06.1FeatureSupport Pod Fixed IP (Fixed IP Usage Method)23rd June 2021
21.01.3BugfixCompatible with UHost nodes that have enabled elastic network cards and solve their problem of not being able to go out to the Internet.29th January 2021
21.01.2FeatureSet the default MTU of Pod to 145215th January 2021
21.01.1EnhancementOptimized ipamd IP application mechanism.1st January 2021
20.07.1EnhancementSupport garp mechanism, optimize Pod network first packet delay issue.16th July 2020

Document updates may be delayed, and the latest version will be subject to the product page.