在 VMware 网络要求上由 Azure Arc 启用的 AKS(预览版)
适用于:Azure Arc 在 VMware 上启用的 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 地址。 确保从 DHCP 服务器的范围中排除控制平面 IP 地址。
容器化应用程序的负载均衡器 IP
负载均衡器的主要目的是在 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 个群集,则必须为每个 Kubernetes 群集保留 5 个 IP 地址。 这 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 |