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