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是唯一支援將IP位址指派給AKS Arc VM的模式。 這是因為 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部署和應用程式發生無法預見的失敗。
Proxy 設定
AKS 中的 Proxy 設定繼承自基礎結構系統。 尚不支援為 Kubernetes 叢集設定個別 Proxy 設定和變更 Proxy 設定的功能。 如需如何正確設定 Proxy 的詳細資訊,請參閱 Azure 本機的 Proxy 需求。
防火牆 URL 例外狀況
AKS 的防火牆需求已與 Azure 本機防火牆需求合併。 如需需要成功部署 AKS 的 URL 清單,請參閱 Azure 本機防火牆需求 。
DNS 伺服器設定
您必須確定邏輯網路的 DNS 伺服器可以解析 Azure 本機叢集的 FQDN。 所有 Azure 本機節點都必須有 DNS 名稱解析,才能與 AKS VM 節點通訊。
網路埠和跨 VLAN 需求
當您部署 Azure 本機時,您會在管理網路的子網上配置至少六個靜態 IP 位址的連續區塊,並省略實體機器已使用的位址。 Azure 本機和內部基礎結構 (Arc Resource Bridge) 會使用這些 IP 來管理 Arc VM 和 AKS Arc。如果您的管理網路提供與 Arc 資源網橋相關的 Azure 本地服務 IP 位址,與您用來建立 AKS 叢集的邏輯網路位於不同的 VLAN 上,您必須確定已開啟下列埠,才能成功建立及操作 AKS 叢集。
目的地連接埠 | Destination | 來源 | 描述 | 跨 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 位址。 |