適用於:Azure 上的本地 AKS
本文介紹 Azure Arc 所啟用 AKS 中 VM 和應用程式的核心網路概念。本文也說明建立 Kubernetes 叢集所需的網路必要條件。 建議您與網路管理員合作,提供及設定部署Arc所啟用 AKS 所需的網路參數。
在此概念性文章中,會介紹下列重要元件。 這些元件需要靜態 IP 位址,AKS Arc 叢集和應用程式才能成功建立及運作:
- AKS Arc 虛擬機和控制平面 IP 的邏輯網路
- 容器化應用程式的負載平衡器
AKS Arc VM 和控制平面 IP 所使用的邏輯網路
在由 Arc 啟用的 AKS 中,Kubernetes 節點被部署為專門的虛擬機器。這些虛擬機器被分配 IP 位址,以便在 Kubernetes 節點之間進行通訊。 AKS Arc 使用 Azure 本機邏輯網路,為 Kubernetes 叢集的基礎 VM 提供 IP 位址和網路功能。 如需邏輯網路的詳細資訊,請參閱 Azure 本機的邏輯網路。 您必須規劃在 Azure 本機環境中為每個 AKS 叢集節點 VM 保留一個 IP 位址。
注意
靜態IP是唯一支援將IP位址指派給AKS Arc VM的模式。 這是因為 Kubernetes 需要指派給 Kubernetes 節點的 IP 位址,在 Kubernetes 叢集的整個生命週期中保持一致。 Azure 本機上的 AKS 目前不支援軟體定義的虛擬網路和 SDN 相關功能。
若要使用 AKS Arc 叢集建立作業的邏輯網路,需要下列參數:
Az CLI 邏輯網路參數 | 描述 | 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 中的 Proxy 設定繼承自基礎結構系統。 尚不支援為 Kubernetes 叢集設定個別 Proxy 設定和變更 Proxy 設定的功能。 如需如何正確設定 Proxy 的詳細資訊,請參閱 Azure 本機的 Proxy 需求。
警告
部署 Azure Local 之後,您無法更新不正確的代理伺服器設定。 如果代理伺服器設定錯誤,您必須重新部署 Azure 本地版本。
防火牆 URL 例外狀況
AKS 的防火牆需求已與 Azure 本機防火牆需求合併。 請參閱 Azure 本機防火牆需求 以取得需要被允許的 URL 清單,從而成功部署 AKS。
DNS 伺服器設定
您必須確定邏輯網路的 DNS 伺服器可以解析 Azure 本機叢集的 FQDN。 所有 Azure 本機節點都必須有 DNS 名稱解析,才能與 AKS VM 節點通訊。
網路埠和跨VLAN的需求
當您部署 Azure Local 時,您會在 管理網路的子網上配置至少六個靜態 IP 位址的連續區塊,而不包括已被實體機器使用的位址。 Azure 本機和內部基礎結構 (Arc Resource Bridge) 會使用這些 IP 來管理 Arc VM 和 AKS Arc。如果您的管理網路提供與 Arc 資源網橋相關的 Azure 本地服務 IP 位址,與您用來建立 AKS 叢集的邏輯網路位於不同的 VLAN 上,您必須確定已開啟下列埠,才能成功建立及操作 AKS 叢集。
目的地港口 | 目的地 | 來源 | 描述 | 雙向跨 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 位址,反之亦然。 |