Skip to Content
集群网络基于UVPC的underlay网络CNI 网络插件升级

网络插件 升级

UK8S 提供的 CNI (Container Network Interface)基于 安联云 VPC 网络实现,因此会随着 VPC 的功能迭代同步更新版本,以提升容器网络的稳定性及性能。 UK8S提供 CNI 在线升级的功能,插件升级不会影响现有 Pod 的网络。CNI 升级成功后:

  1. 其实现的网络特性将作用于新申请的 Pod;
  2. 老的 Pod 如果也需要获得对应的网络特性,则需要滚动升级以触发 Pod 重建;

下面将介绍下如何在线升级网络插件。

1. 网络插件升级

在 UK8S 集群控制台管理页面「插件-网络插件」页面,开启 CNI 网络插件升级功能,开启 CNI 插件升级功能会在集群中执⾏ CNI 插件查询任务,⼤约需要 3 分钟,在此过程中请不要操作集群。升级功能开启后,即可看到 CNI 插件版本信息,点击「升级 CNI」即可进行升级。

如控制台页面无法查看 CNI 版本信息,请在集群中任一节点执行 /opt/cni/bin/cnivpc version 查看。

升级过程约需要 1-3 分钟,升级过程中「当前版本」字段会显示为「升级中」,升级完成后显示最新版本号,如升级失败,可以再尝试「强制升级」,或与我们技术支持联系。部分节点由于版本原因,可能无法获取到「当前CNI版本」,直接点击强制升级即可。

支持单节点和批量升级,建议先升级单台节点,如果升级成功,则再进行批量升级。当所有节点都升级成功后,可关闭插件升级服务,后续有升级需求时再开启。

对于非维护版本的集群,无法将CNI升级到最新版本,只能升级到LTS(长期维护)版本。详见:集群版本维护说明

⚠️ 集群网络插件升级时,请勿进行服务发布等操作

2. ipamd插件升级

ipamd暂未单独通过控制台支持升级功能。

如果「固定IP管理」功能已经开启,您可以通过「固定IP管理」页面升级ipamd插件。

如果您未使用「固定IP管理」功能,可以通过以下操作将ipamd版本升级到最新。

# 指定最新版本,请参考下方版本记录 ipamd_version=1.3.0 kubectl set image daemonset/cni-vpc-ipamd -n kube-system cni-vpc-ipamd=uhub.an-link.com/uk8s/cni-vpc-ipamd:$ipamd_version

3. 网络插件更新纪要

以下的版本更新纪要可能有延后性,如果您想获取最新的CNI更新日志以及所有源代码,请到我们的开源仓库查看:uk8s-cni-vpc

️️ ⚠️ 带-lts后缀的版本表示长期维护版本,仅包括重大BUG的修复,不包括新功能。

版本类型更新说明发布时间
1.3.0Feature1. 适配1.26集群
2. 分配pod ip前通过VPC检查可用性,防止Pod拿到不可用IP导致网络不通
2024年06月19日
1.2.3Bugfix修复ipamd不存在时使用固定IP功能存在的问题。2023年11月23日
1.2.2Feature适配裸金属类型节点。2023年08月22日
1.2.1Bugfix修复某些场景下pod ip可能被误分配到其他云主机的虚拟网卡上的问题。2023年08月22日
1.2.0Feature1. 安全起见,彻底去除CNI中GC相关逻辑,新增cnivpctl命令行,将GC和一些其他调试命令移动到命令行工具中。
2. 通过持久化IP池,修复ipamd异常退出后导致的IP泄漏问题。
3. 避免在使用network policy时pod路由规则可能被重复添加导致的报错。
2023年07月18日
1.0.3-ltsLTS修复某些场景下pod ip可能被误分配到其他主机的虚拟网卡上的问题。2023年08月22日
1.0.2Bugfix在检测IP冲突时,忽略EINTR错误,以防止误报。2023年01月16日
1.0.1Bugfix修复ipamd申请IP时没有刷新token导致的调用失败问题。2022年01月04日
1.0.0Feature1. CNI正式开源,地址:uk8s-cni-vpc
2. 重构ipamd相关代码,增加水位控制、IP借调等相关特性。ipamd将作为默认组件。
2022年12月29日
22.05.1Enhancement根据 rfc5227 在 Pod 创建时对申请到的内网 IP 进行冲突检测,达到一定重试次数后,如果仍然冲突,会释放当前 IP,并重新申请 IP2022年05月30日
22.04.1Feature将 ip_local_port_range 改为 32768 ~ 609992022年04月01日
21.12.2Featureipamd 支持开启 calico policy 特性,IP 会写入到 Pod 的 annotation,calico 可以通过感知该 IP 来及时下发规则2021年12月28日
21.12.1Enhancement1. 优化 ipamd 申请 IP 流程,ipamd 会在申请到 IP 以后立刻发送 garp ;
2. 优化释放 IP 时候获取 mac 的流程。
2021年12月14日
21.10.1Bugfix1. 修复固定 IP 意外释放导致 StatefulSet Pod 不可用的问题;
2. 修复 CNI 抢占文件锁超时导致释放 IP 失败的问题;
3. IPAMD 插件开启后,将默认使用其管理 IP。
2021年11月4日
21.07.1Bugfix解决部分节点无法获取 CNI 版本问题2021年7月1日
21.06.1Feature支持 Pod 固定 IP(固定 IP 使用方法2021年6月23日
21.01.3Bugfix兼容开启了弹性网卡的UHost节点,解决其无法出外网的问题2021年1月29日
21.01.2Feature将 Pod 的默认 MTU 设置为14522021年1月15日
21.01.1Enhancementipamd 申请 IP 机制优化2021年1月1日
20.07.1Enhancement支持 garp 机制,优化 Pod 网络首包延时问题2020年7月16日

文档更新可能滞后,最新版本请以产品页面为准。