VMware 上的 Azure Arc 启用的 AKS 网络要求 (预览版)
适用于:VMware 上的 Azure Arc 启用的 AKS (预览版)
本文介绍在 VMware 上由 Azure Arc 启用的 Azure Kubernetes 服务 (AKS) 中为 VM 和应用程序提供网络的核心概念:
- Arc VM 启用的 AKS 逻辑网络
- 控制平面 IP
- Kubernetes 负载均衡器
本文还介绍了创建 Kubernetes 群集所需的网络先决条件。 建议与网络管理员合作,提供和设置部署 AKS 所需的网络参数。
AKS 群集的网络概念
确保为 Kubernetes 群集中的以下组件正确设置网络:
- AKS 群集 VM
- AKS 控制平面 IP
- 容器化应用程序的负载均衡器
AKS 群集 VM 的网络
Kubernetes 节点部署为 AKS 中的专用虚拟机。 为这些 VM 分配 IP 地址,以启用 Kubernetes 节点之间的通信。 AKS 使用 VMware 逻辑网段为 Kubernetes 群集的基础 VM 提供 IP 地址和网络。 对于此预览版,仅支持基于 DHCP 的 VMware 逻辑网段。 创建 AKS Arc 群集期间提供 VMware 网段后,IP 地址会动态分配给 Kubernetes 群集的基础 VM。
控制平面 IP
Kubernetes 使用控制平面来确保 Kubernetes 群集中的每个组件都保持所需状态。 控制平面还管理和维护保存容器化应用程序的工作器节点。 AKS 部署 KubeVIP 负载均衡器,以确保 Kubernetes 控制平面的 API 服务器 IP 地址始终可用。 若要正常运行,此 KubeVIP 实例需要一个不可变的“控制平面 IP 地址”。控制平面 IP 是创建 Kubernetes 群集所需的参数。 必须确保 Kubernetes 群集的控制平面 IP 地址不会与任何其他 IP 地址重叠。 重叠的 IP 地址可能会导致 AKS 群集和使用该 IP 地址的任何其他位置出现意外故障。 必须计划在环境中为每个 Kubernetes 群集保留一个 IP 地址。 确保控制平面 IP 地址已从 DHCP 服务器的范围中排除。
容器化应用程序的负载均衡器 IP
负载均衡器main用途是跨 Kubernetes 群集中的多个节点分配流量。 此负载均衡有助于防止停机并提高应用程序的整体性能。 对于此预览版,必须自带第三方负载均衡器;例如 ,MetalLB。 还必须确保分配给负载均衡器的 IP 地址不会与其他位置使用的 IP 地址冲突。 IP 地址冲突可能会导致 AKS 部署和应用程序中出现不可预见的故障。
Kubernetes 群集和应用程序的 IP 地址规划
每个 Kubernetes 群集至少应具有以下可用的 IP 地址数。 实际 IP 地址数取决于 Kubernetes 群集的数量、每个群集中的节点数,以及要在 Kubernetes 群集上运行的服务和应用程序数:
参数 | 最小 IP 地址数 |
---|---|
VMware 逻辑网段 | Kubernetes 群集中的每个工作器节点的一个 IP 地址。 例如,如果要创建 3 个节点池,每个节点池中具有 3 个节点,则需要 DHCP 服务器中的 9 个可用 IP 地址。 |
控制平面 IP | 为环境中的每个 Kubernetes 群集保留一个 IP 地址。 例如,如果需要总共创建 5 个群集,则必须保留 5 个 IP 地址,每个 Kubernetes 群集一个。 这 5 个 IP 地址必须超出 DHCP 服务器的范围。 |
负载均衡器 IP | 保留的 IP 地址数取决于应用程序部署模型。 首先,可以为每个 Kubernetes 服务保留一个 IP 地址。 |
代理设置
对于此预览版,不支持在已启用代理的 VMware 环境中创建 AKS Arc 群集。
防火墙 URL 异常
有关 Azure Arc 防火墙/代理 URL 允许列表的信息,请参阅 Azure Arc 资源网桥网络要求。
对于 Kubernetes 群集的部署和操作,必须可从部署中的所有物理节点和虚拟机访问以下 URL。 确保防火墙配置中允许这些 URL:
URL | 端口 |
---|---|
.dp.prod.appliances.azure.com | HTTPS/443 |
.eus.his.arc.azure.com | HTTPS/443 |
guestnotificationservice.azure.com | HTTPS/443 |
.dp.kubernetesconfiguration.azure.com | HTTPS/443 |
management.azure.com | HTTPS/443 |
raw.githubusercontent.com | HTTPS/443 |
storage.googleapis.com | HTTPS/443 |
msk8s.api.cdp.microsoft.com | HTTPS/443 |
adhs.events.data.microsoft.com | HTTPS/443 |
.events.data.microsoft.com | HTTPS/443 |
graph.microsoft.com | HTTPS/443 |
.login.microsoft.com | HTTPS/443 |
mcr.microsoft.com | HTTPS/443 |
.data.mcr.microsoft.com | HTTPS/443 |
msk8s.sb.tlu.dl.delivery.mp.microsoft.com | HTTPS/443 |
.prod.microsoftmetrics.com | HTTPS/443 |
login.microsoftonline.com | HTTPS/443 |
dc.services.visualstudio.com | HTTPS/443 |
ctldl.windowsupdate.com | HTTP/80 |
azurearcfork8s.azurecr.io | HTTPS/443 |
ecpacr.azurecr.io | HTTPS/443 |
hybridaks.azurecr.io | HTTPS/443 |
kvamanagementoperator.azurecr.io | HTTPS/443 |
linuxgeneva-microsoft.azurecr.io | HTTPS/443 |
gcr.io | HTTPS/443 |
aka.ms | HTTPS/443 |
k8connecthelm.azureedge.net | HTTPS/443 |
k8sconnectcsp.azureedge.net | HTTPS/443 |
.blob.core.windows.net | HTTPS/443 |