Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
现有Azure Kubernetes 服务 (AKS)群集不可避免地需要更新到更新的 IP 分配管理(IPAM)模式和数据平面技术,才能访问最新的功能和可支持性。 本文提供有关更新现有 AKS 群集的指南,以将 Azure CNI 覆盖层用于 IPAM 模式,并将由 Cilium 支持的 CNI Azure 用作数据平面。
支持的迁移路径
AKS 支持现有群集的单向转发网络迁移路径。 仅支持迁移到Azure CNI Overlay。
以下迁移是唯一受支持的迁移:
- Azure CNI (节点子网) → Azure CNI 覆盖网络
- Kubenet → Azure CNI 叠加网络
将群集更新为 Azure CNI 覆盖是一种单向不可逆的操作。 更新群集后,无法将其迁移回基于节点子网的网络模式。
将 IPAM 模式更新为 Azure CNI 覆盖网络
将现有群集更新为 Azure CNI 覆盖是不可逆的过程。
如果群集有以下情况,可以将现有 AKS 群集更新为 Azure CNI 覆盖层:
- 在 Kubernetes 版本 1.27 或更高版本上。
- 不使用 动态 IP 分配 功能。
- 未启用网络策略。 如果需要在更新群集之前卸载网络策略引擎,请按照 Uninstall Azure Network Policy Manager 或 Calico 中的步骤操作。
- 不使用Docker作为容器运行时的任何 Windows 节点池。
在 Windows 操作系统版本 20348.1668 之前,由于源网络地址转换 (SNAT),Windows 覆盖 Pod 错误地将来自主机网络 Pod 的数据包路由,这存在一定的限制。 此限制对更新到 Azure CNI 覆盖层的群集产生了不利影响。 若要避免此问题,请使用 Windows OS 内部版本 20348.1668 或更高版本。
警告
如果使用自定义
azure-ip-masq-agent配置来包含不应从 Pod 发送 SNAT 数据包的其他 IP 范围,则更新到 Azure CNI 覆盖可能会中断与这些范围的连接。 覆盖空间中的 Pod IP 无法访问群集节点以外的任何内容。对于旧群集,ConfigMap 可能会遗留下来于以前的版本
azure-ip-masq-agent。 如果此 ConfigMap(命名为azure-ip-masq-agent-config)存在且不是有意设置的,则应在更新之前将其删除。如果不使用自定义
ip-masq-agent配置,则应仅存在与 Azureip-masq-agentConfigMap 相关联的azure-ip-masq-agent-config-reconciledConfigMap。 它在更新过程中自动更新。
更新过程触发节点池同时重建映像。 不支持将每个节点池单独更新为 Azure CNI 覆盖。 群集网络的任何中断都类似于节点映像更新或 Kubernetes 版本升级,其中节点池中的每个节点都会重新映像。
使用 az aks update 命令更新现有Azure容器网络接口(CNI)群集以使用 Azure CNI 覆盖。
az aks update \
--name $CLUSTER_NAME \
--resource-group $RESOURCE_GROUP \
--network-plugin-mode overlay \
--pod-cidr 192.168.0.0/16
--pod-cidr 参数在从旧 CNI 插件更新时是必需的,因为 Pod 需要从新的覆盖网络空间获取 IP。 新的覆盖空间不会与现有的 Azure CNI 节点子网插件重叠。
Pod 的无类域间路由(CIDR)也不能与节点池的任何虚拟网络地址重叠。 例如,如果虚拟网络地址为 10.0.0.0/8,并且节点位于子网 10.240.0.0/16 中,则 --pod-cidr 参数不能与群集上的 10.0.0.0/8 或现有服务 CIDR 重叠。
将数据平面更新为使用 Cilium 支持的 Azure CNI
Azure CNI 由 Cilium 提供支持,是 AKS 推荐和支持的长期网络配置。 它将Azure CNI 控制平面与 Cilium 数据平面相结合,以提供可缩放的网络和高级安全功能。
更新注意事项
- 在单个操作中无法更新 IPAM 模式和数据平面。 如果计划迁移到 Azure CNI Overlay 和由 Cilium 提供支持的 Azure CNI,则必须:
- 首先将 IPAM 模式更新为Azure CNI 覆盖。
- 将数据平面作为独立操作更新为由 Cilium 支持的 Azure CNI。
- 在使用另一个网络策略引擎(Azure网络策略管理器或 Calico)的群集上启用 Cilium 时,现有引擎将被卸载并替换为 Cilium。 这可能会影响网络策略行为。有关详细信息,请参阅 [从网络策略管理器 (NPM) 迁移到 Cilium 网络策略] (./migrate-from-npm-to-cilium-network-policy.md)
- 在具有 Windows 节点池的群集上,不支持将数据平面更新为由 Cilium 提供支持的 Azure CNI。
- 启用了节点自动预配(NAP)的群集无法更新为由 Cilium 支持的 Azure CNI。作为解决方法,可在更新前禁用 NAP,更新完成后再重新启用。
警告
更新过程触发节点池同时重建映像。 不支持单独更新每个节点池。 群集网络的任何中断都类似于节点映像更新或 Kubernetes 版本升级 ,其中节点池中的每个节点都会重新映像。 Cilium 仅在重新映像所有节点后才开始强制实施网络策略。
若要执行更新,需要Azure CLI 2.52.0 或更高版本。 运行 az --version 查看当前安装的版本。 如果需要安装或升级,请参阅 安装 Azure CLI。
使用 Azure az aks update 命令将现有群集更新为由 Cilium 提供支持的 CNI。
az aks update \
--name $CLUSTER_NAME \
--resource-group $RESOURCE_GROUP \
--network-dataplane cilium