MetalLB 网络插件兼容性
1. 一段话总结
总体而言,MetalLB 对 Kubernetes 集群中所选用的网络插件没有特殊偏好,只要该插件能提供 Kubernetes 期望的标准行为即可正常兼容;文中以字母顺序列出了已测试过的网络插件,包括 Antrea(1.4 和 1.5 版本已测试)、Calico(基本兼容,存在已知问题)、Canal(兼容)、Cilium(兼容)、Flannel(兼容)、Kube-ovn(兼容)、Kube-router(基本兼容,存在已知问题) ,未在列表中的插件大概率也能工作,只是尚未经过测试,若有相关插件的兼容信息,可向官方提交补丁。
3. 详细总结
一、MetalLB 网络插件兼容核心原则
MetalLB 对 Kubernetes 集群中使用的网络插件无特定偏好,核心兼容条件仅为网络插件需提供 Kubernetes 期望的标准行为,满足该条件即可实现基本兼容。
二、已测试的网络插件及兼容情况(按字母顺序排列)
下表详细列出了经过测试的网络插件及其具体兼容状态,包含插件名称、兼容结果及补充说明:
| 网络插件(Network Addon) | 兼容情况(Compatible) | 补充说明 |
|---|---|---|
| Antrea | Yes | 已在 1.4 版本 和 1.5 版本 上完成测试 |
| Calico | Mostly | 基本兼容,但存在已知问题,需关注官方标注的问题点 |
| Canal | Yes | 无额外补充说明,测试后确认完全兼容 |
| Cilium | Yes | 无额外补充说明,测试后确认完全兼容 |
| Flannel | Yes | 无额外补充说明,测试后确认完全兼容 |
| Kube-ovn | Yes | 无额外补充说明,测试后确认完全兼容 |
| Kube-router | Mostly | 基本兼容,但存在已知问题,需关注官方标注的问题点 |
三、未测试网络插件的兼容说明
未被列入上述测试列表的网络插件,并非一定不兼容,大概率仍可正常工作,只是官方尚未对其进行兼容性测试。若用户在实际使用中验证了某款未列表插件与 MetalLB 的兼容性,可向官方提交相关补丁,补充该插件的兼容信息。
4. 关键问题
问题1:MetalLB 与 Kubernetes 网络插件兼容的核心要求是什么?是否对特定插件有偏好?
答案:MetalLB 与网络插件兼容的核心要求是网络插件需提供 Kubernetes 期望的标准行为;MetalLB 对特定网络插件无偏好,只要满足上述核心要求,即可实现兼容。
问题2:Antrea 网络插件与 MetalLB 的兼容状态如何?官方已测试的 Antrea 版本是哪些?
答案:Antrea 网络插件与 MetalLB 完全兼容(Compatible:Yes);官方已在 Antrea 1.4 版本 和 Antrea 1.5 版本 上完成了兼容性测试,确认该两个版本可正常与 MetalLB 配合使用。
问题3:若某款 Kubernetes 网络插件未出现在 MetalLB 官方的已测试列表中,是否意味着该插件无法与 MetalLB 兼容?用户可如何补充该插件的兼容信息?
答案:未出现在已测试列表的网络插件不代表无法兼容,大概率仍可正常工作,只是官方尚未对其进行兼容性测试;若用户实际验证了该插件与 MetalLB 的兼容性,可通过向官方提交补丁的方式,补充该插件的兼容信息。