Azure Arc 网络要求启用的 AKS
适用于:Azure 本地版本 23H2
本文介绍由 Azure Arc 启用的 AKS 中 VM 和应用程序的核心网络概念。本文还介绍了创建 Kubernetes 群集所需的网络先决条件。 我们建议你与网络管理员合作,提供和设置部署由 Arc 启用的 AKS 所需的网络参数。
在本概念性文章中,将介绍以下关键组件。 这些组件需要静态 IP 地址,以便 AKS Arc 群集和应用程序能够成功创建和操作:
- AKS Arc VM 和控制平面 IP 的逻辑网络
- 容器化应用程序的负载均衡器
AKS Arc VM 和控制平面 IP 的逻辑网络
Kubernetes 节点部署为 Arc 启用的 AKS 中的专用虚拟机。这些 VM 分配有 IP 地址,以启用 Kubernetes 节点之间的通信。 AKS Arc 使用 Azure 本地逻辑网络为 Kubernetes 群集的基础 VM 提供 IP 地址和网络。 有关逻辑网络的详细信息,请参阅 Azure 本地的逻辑网络。 必须在 Azure 本地环境中为每个 AKS 群集节点 VM 保留一个 IP 地址。
注意
静态 IP 是唯一支持向 AKS Arc VM 分配 IP 地址的模式。 这是因为 Kubernetes 要求分配给 Kubernetes 节点的 IP 地址在 Kubernetes 群集的整个生命周期内保持一致。 Azure 本地版本 23H2 上的 AKS 目前不支持软件定义的虚拟网络和 SDN 相关功能。
若要对 AKS Arc 群集创建操作使用逻辑网络,需要以下参数:
逻辑网络参数 | 说明 | AKS Arc 群集的必需参数 |
---|---|---|
--address-prefixes |
网络的 AddressPrefix。 目前仅支持 1 个地址前缀。 用法:--address-prefixes "10.220.32.16/24" 。 |
|
--dns-servers |
DNS 服务器 IP 地址的空间分隔列表。 用法:--dns-servers 10.220.32.16 10.220.32.17 。 |
|
--gateway |
网关。 网关 IP 地址必须位于地址前缀的范围内。 用法:--gateway 10.220.32.16 。 |
|
--ip-allocation-method |
IP 地址分配方法。 支持的值为“Static”。 用法:--ip-allocation-method "Static" 。 |
|
--vm-switch-name |
VM 交换机的名称。 用法:--vm-switch-name "vm-switch-01" 。 |
|
--ip-pool-start |
如果在 L2/ARP 模式下使用 MetalLB 或任何其他第三方负载均衡器,我们强烈建议使用 IP 池将 AKS Arc IP 要求与负载均衡器 IP 分开。 此建议有助于避免可能导致意外和难以诊断的失败的 IP 地址冲突。 此值是 IP 池的起始 IP 地址。 地址必须位于地址前缀的范围内。 用法:--ip-pool-start "10.220.32.18" 。 |
可选,但强烈建议使用。 |
--ip-pool-end |
如果在 L2/ARP 模式下使用 MetalLB 或任何其他第三方负载均衡器,我们强烈建议使用 IP 池将 AKS Arc IP 要求与负载均衡器 IP 分开。 此建议有助于避免可能导致意外和难以诊断的失败的 IP 地址冲突。 此值是 IP 池的结束 IP 地址。 地址必须位于地址前缀的范围内。 用法:--ip-pool-end "10.220.32.38" 。 |
可选,但强烈建议使用。 |
控制平面 IP
Kubernetes 使用控制平面来确保 Kubernetes 群集中的每个组件都保持所需状态。 控制平面还管理和维护保存容器化应用程序的辅助角色节点。 Arc 启用的 AKS 部署 KubeVIP 负载均衡器,以确保 Kubernetes 控制平面的 API 服务器 IP 地址随时可用。 此 KubeVIP 实例需要一个不可变的“控制平面 IP 地址”才能正常工作。 AKS Arc 会自动从 Kubernetes 群集创建操作期间传递的逻辑网络中选择一个控制平面 IP。
还可以选择传递控制平面 IP。 在这种情况下,控制平面 IP 必须位于逻辑网络的地址前缀的范围内。 必须确保控制平面 IP 地址不会与任何其他地址重叠,包括 Arc VM 逻辑网络、基础结构网络 IP、负载均衡器等。重叠的 IP 地址可能会导致 AKS 群集和正在使用 IP 地址的任何其他位置出现意外故障。 必须计划在你的环境中为每个 Kubernetes 群集保留一个 IP 地址。
容器化应用程序的负载均衡器 IP
负载均衡器的主要目的是在 Kubernetes 群集中的多个节点之间分配流量。 此负载均衡有助于防止停机并提高应用程序的整体性能。 AKS 支持以下选项来为 Kubernetes 群集部署负载均衡器:
- 为已启用 Azure Arc 的 Kubernetes 部署 MetalLB 扩展。
- 自带第三方负载均衡器。
无论是为 MetalLB 选择 Arc 扩展还是自带负载均衡器,都必须向负载均衡器服务提供一组 IP 地址。 你有以下选择:
- 为服务提供与 AKS Arc VM 相同的子网中的 IP 地址。
- 如果应用程序需要外部负载均衡,请使用其他网络和 IP 地址列表。
无论选择哪种选项,都必须确保分配给负载均衡器的 IP 地址不会与逻辑网络中 IP 地址冲突。 冲突的 IP 地址可能会导致 AKS 部署和应用程序中出现意外故障。
代理设置
AKS 中的代理设置继承自底层基础结构系统。 尚不支持为 Kubernetes 群集设置单个代理设置和更改代理设置的功能。 有关如何正确设置代理的详细信息,请参阅 Azure 本地的代理要求。
防火墙 URL 异常
AKS 的防火墙要求已与 Azure 本地防火墙要求合并。 有关需要允许成功部署 AKS 的 URL 列表,请参阅 Azure 本地防火墙要求 。
DNS 服务器设置
需要确保逻辑网络的 DNS 服务器能够解析 Azure 本地群集的 FQDN。 所有 Azure 本地节点都需要 DNS 名称解析才能与 AKS VM 节点通信。
网络端口和跨 VLAN 要求
部署 Azure 本地时,会在管理网络的子网上分配至少六个静态 IP 地址的连续块,省略物理计算机已使用的地址。 这些 IP 由 Azure 本地基础结构和内部基础结构(Arc 资源桥)用于 Arc VM 管理和 AKS Arc。如果为 Arc 资源桥相关的 Azure 本地服务提供 IP 地址的管理网络与用于创建 AKS 群集的逻辑网络位于不同的 VLAN 上,则需要确保打开以下端口以成功创建和操作 AKS 群集。
Destination Port | 目标 | Source | 说明 | 跨 VLAN 网络说明 |
---|---|---|---|---|
22 | 用于 AKS Arc VM 的逻辑网络 | 管理网络中 IP 地址 | 需要收集日志才能进行故障排除。 | 如果使用单独的 VLAN,则用于 Azure 本地和 Arc 资源桥的管理网络中 IP 地址需要访问此端口上的 AKS Arc 群集 VM。 |
6443 | 用于 AKS Arc VM 的逻辑网络 | 管理网络中 IP 地址 | 与 Kubernetes API 通信所必需的。 | 如果使用单独的 VLAN,则用于 Azure 本地和 Arc 资源桥的管理网络中 IP 地址需要访问此端口上的 AKS Arc 群集 VM。 |
55000 | 管理网络中 IP 地址 | 用于 AKS Arc VM 的逻辑网络 | 云代理 gRPC 服务器 | 如果使用单独的 VLAN,AKS Arc VM 需要访问管理网络中用于此端口上的云代理 IP 和群集 IP 的 IP 地址。 |
65000 | 管理网络中 IP 地址 | 用于 AKS Arc VM 的逻辑网络 | 云代理 gRPC 身份验证 | 如果使用单独的 VLAN,AKS Arc VM 需要访问管理网络中用于此端口上的云代理 IP 和群集 IP 的 IP 地址。 |