只能在仅包含 Linux 节点的 Azure CNI Overlay AKS 群集上扩展 Pod CIDR 空间。 该作使用 az aks update 命令并允许扩展,而无需重新创建 AKS 群集。
重要
AKS 预览功能可在自助服务和自愿选择的基础上启用。 预览版按“现状”和“视供应情况”提供,它们不包括在服务级别协议和有限保证范围内。 AKS 预览功能是由客户支持尽最大努力部分覆盖。 因此,这些功能并不适合用于生产。 有关详细信息,请参阅以下支持文章:
要求和参数
| 要求/参数 | 支持的版本/值 | Description |
|---|---|---|
| 功能标志 | EnableAzureCNIOverlayPodCIDRExpansion |
必须在订阅中注册此功能标志,才能在 Azure CNI 覆盖 AKS 群集中启用 Pod CIDR 扩展。 |
| Azure CLI 版本 | 2.48.0 或更高版本 | Azure CLI 版本必须是 2.48.0 或更高版本才能支持 Pod CIDR 扩展功能。 |
| Kubernetes 版本 | 1.33 | Pod CIDR 扩展仅在运行 Kubernetes 版本 1.33 的 AKS 群集上受支持。 |
| 节点操作系统 (OS) | Linux | Pod CIDR 扩展仅在具有 Linux 节点的 Azure CNI 覆盖 AKS 群集上受支持。 |
| 网络模式 | Azure CNI 覆盖 | Pod CIDR 扩展仅在使用 Azure CNI Overlay 网络的 AKS 群集上受支持。 |
| 原始 Pod CIDR 示例 | 10.244.0.0/18 |
这是启动 Pod CIDR 块的示例。 |
| 扩展的 Pod CIDR 示例 | 10.244.0.0/16 |
这是目标 Pod CIDR 扩展块的示例。 |
局限性
- 不支持 Windows 节点和混合节点方案。
- 不支持收缩或更改对 Pod CIDR 的设置。
- 不支持添加不连续的 Pod CIDR。 新的 Pod CIDR 必须是一个更大的超集,其中包含完整的原始范围。
- 不支持 IPv6 Pod CIDR 扩展。
- 不支持通过
--pod-cidrs更改多个 Pod CIDR 块。 - 如果在扩展操作期间 Azure 可用性区域 关闭,则新节点可能显示为 未就绪。 在可用性区域启动后,可以期望这些节点进行协调。
先决条件
注册 EnableAzureCNIOverlayPodCIDRExpansion 功能标志
使用
EnableAzureCNIOverlayPodCIDRExpansion命令注册az feature register功能标志。az feature register --namespace Microsoft.ContainerService --name EnableAzureCNIOverlayPodCIDRExpansion使用
az feature show命令验证注册是否成功。 只需几分钟时间即可完成注册。az feature show --namespace "Microsoft.ContainerService" --name "EnableAzureCNIOverlayPodCIDRExpansion"在功能显示
Registered后,使用Microsoft.ContainerService命令刷新az provider register资源提供程序的注册。az provider register --namespace Microsoft.ContainerService
更新 Azure CNI Overlay AKS 群集以扩展 Pod CIDR 范围
从 pod CIDR 块
10.244.0.0/18开始,可以使用命令扩展 Pod CIDR 空间az aks update。 例如:az aks update \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --pod-cidr 10.244.0.0/16注释
尽管更新作可能成功完成并在网络配置文件中显示新的 Pod CIDR,但请确保通过 NodeNetworkConfig (nnc) 验证新的群集状态。
使用(nnc)命令来检查并验证升级操作的状态。 在输出中,所有节点池都应与新的 Pod CIDR 块(例如)
10.244.0.0/16匹配。kubectl get nnc -A -o jsonpath='{range .items[*]}{.metadata.name}{" "}{.status.networkContainers[0].subnetAddressSpace}{"\n"}{end}'
相关内容
若要详细了解 AKS 上的 Azure CNI 覆盖网络,请参阅以下文章: