AKS Edge Essentials 網路功能
本文說明如何設定 Windows 主機 OS 與 Linux 和 Windows 節點虛擬機之間的網路功能。 如需 AKS Edge Essentials 架構的詳細資訊,請參閱 AKS Edge Essentials 概觀。
提示
下列指南說明 AKS Edge Essentials 中可用的不同網路概念和組態。 如果您使用單一計算機叢集,安裝程式和部署機制會處理所有必要的網路設定。 部署叢集不需要額外的步驟或設定。
網路
本指南假設您已控制網路和路由器(也就是在主設定中)。 如果您是在公司環境中,建議您向網路管理員詢問一系列可在因特網上連線的免費IP位址(來自相同子網)。
為了在 Windows 主機作業系統與 Linux 和 Windows 虛擬機器之間建立通訊通道,我們會使用 Hyper-V 網路堆疊。 如需 Hyper-V 網路連接的詳細資訊,請參閱 Hyper-V 網路連接基本概念。
AKS Edge Essentials 的下列重要網路概念與 Kubernetes 概念一致:
- 虛擬交換器:可讓 Hyper-V 主機上建立的虛擬機與其他計算機通訊的 Hyper-V 元件。 如需詳細資訊,請參閱 使用 Hyper-V 建立和設定虛擬交換器。 AKS Edge Essentials 支援兩種類型的虛擬交換器:
- 內部:連線到只能由具有虛擬交換器之 Windows 主機 OS 上執行的虛擬機使用的網路,以及主機 OS 與虛擬機之間的網路。
- 外部:藉由系結至實體網路適配器,連線到有線的實體網路。 其可讓虛擬機器存取實體網路,進而與外部網路上的裝置通訊。 此外,它可讓相同 Hyper-V 伺服器上的虛擬機彼此通訊。
- 控制平面端點 IP 位址:可從此 IP 位址連線到 Kubernetes 控制平面。 您必須提供在 Kubernetes 控制平面叢集的整個存留期內免費的單一 IP。
- 服務IP位址範圍:服務IP範圍是保留的IP位址集區,可用來將IP位址配置給 Kubernetes 服務(您的 Kubernetes 服務/工作負載),以便連絡您的應用程式。
- 虛擬機 IP 位址:在 AKS Edge Essentials 中,Kubernetes 節點會部署為需要 IP 位址的特製化虛擬機。 您必須將免費IP指派給這些 VM。
依部署類型進行網路功能
如果使用單一計算機叢集或可調整的叢集部署 AKS Edge Essentials,我們支援不同類型的交換器、IP 位址指派和設定,如下表所示。
單機叢集 | 可調整的叢集 | |
---|---|---|
虛擬交換器的類型 | 內部 | 外部 |
虛擬交換器建立 | 自動 | 以使用者手動方式,或根據實體網路適配器名稱自動進行。 |
IP 位址指派 | 自動 – 定義的位址 | 用戶所設定的靜態IP位址。 |
輸出連線 | 使用虛擬交換器 | 直接使用實體網路適配器。 |
輸入連線 | 無法連線 | 使用虛擬機器IP位址。 |
DNS | 使用 DnsServers 參數來設定 – 如果未提供,請使用 Windows 主機 DNS 伺服器。 |
使用 DnsServers 參數設定 – 如果未提供,請使用 Windows 主機 DNS 伺服器。 |
Proxy | 使用 http_proxy 、 https_proxy 和 no_proxy 參數進行設定。 |
使用 http_proxy 、 https_proxy 和 no_proxy 參數進行設定。 |
離線部署 | 支援使用 InternetDisabled 參數。 |
支援使用 InternetDisabled 參數。 |
服務IP範圍 | ServiceIPRangeSize 如果已定義 參數,則從192.168.0.4開始。 |
ServiceIPRangeStart 您可以定義和 ServiceIPRangeSize 參數。 |
靜態 MAC 位址 | 支援使用 MacAddress 參數。 |
支援使用 MacAddress 參數。 |
最大傳輸單位 (MTU) | 支援使用 MTU 參數。 |
支援使用 MTU 參數。 |
重要
Kubernetes pod cidr
適用於 10.42.0.0/16
K3 和 10.244.0.0/24
K8。 Kubernetes service cidr
適用於 10.43.0.0/16
K3 和 10.96.0.0/12
K8。
單機叢集
單機部署會使用內部的虛擬交換器來管理網路連接功能。 這種類型的部署必須有 Linux 節點;Windows 節點是選擇性的。 下圖顯示了使用內部虛擬交換器的單機部署架構:
在單一計算機部署期間,AKS Edge Essentials 會建立名為 aksedgesw-int 的內部虛擬交換器,以及適當的虛擬網路適配器來連接虛擬機和 Windows 主機 OS。 安裝程式也會處理 NIC 的 IP 位址指派和地址轉譯。 例如,虛擬 NIC 的 IP 位址可以定義如下:
- Windows 主機 OS:192.168.0。1
- Linux 節點虛擬機:192.168.0。2
- Windows 節點虛擬機:192.168.0。3
- 服務IP位址啟動:192.168.0。4
192.168.0.0/24 位址系列可能會根據內部虛擬交換器而變更;不過,節點和主機 OS 一律會有相同的後綴:主機 OS (.1)、Linux VM (.2)、Windows VM (.3) 和 ServiceIP start (.4)。
最後,藉由使用位址轉譯,流量可以使用實體網路適配器連線到外部網路。 上圖顯示使用 10.0.0.0/24 IP 位址系列的外部網路,但這取決於裝置安裝所在的網路環境。
可調整的叢集
在可調整的叢集部署中,在不同裝置內執行的節點必須彼此通訊。 因此,所有節點都必須連線到相同的網路。 若要跨裝置達成此節點對節點通訊,AKS Edge Essentials 可調整的叢集部署會使用外部虛擬交換器。 下圖顯示使用外部虛擬交換器的多部電腦部署架構:
若要啟動這種類型的部署,您必須在部署期間提供下列網路參數:
- AdapterName:連接到外部網路的實體配接器名稱。 您可以執行 PowerShell
Get-NetAdapter -Physical
命令,以檢視Name
您選擇的配接器資料行。 - Ip4Address:指定 VM 所採用的 IP 位址。 每個節點都需要自己的唯一IP位址。
部署完成後,所有節點和 Windows 主機 OS 都會使用相同的外部虛擬交換器連線到外部網路。 因為節點會直接連線到網路,因此不需要位址轉譯。 上圖顯示使用 192.168.0.0/24 IP 位址系列的網路架構;不過,這取決於安裝裝置的網路環境。
如需可調整叢集組態的詳細資訊,請參閱 AKS Edge Essentials 中的完整 Kubernetes 部署和 在多部計算機上相應放大。
其他網路概念
DNS
網域名稱系統 (DNS) 會將人類可讀取的功能變數名稱 (例如 www.microsoft.com
, ) 轉譯為電腦可讀取的 IP 位址 (例如 , 192.0.2.44
。 AKS Edge Essentials Linux 虛擬機會使用 systemd (系統和服務管理員),因此 DNS 或名稱解析服務會透過 系統解析 的服務提供給本機應用程式和服務。 Windows 節點會使用預設的 Windows 網路 DNS 服務。
根據預設,在 AKS Edge Essentials 部署期間,您可以使用 參數提供 DNS 伺服器清單 DnsServers
。 如果未提供位址,部署機制會尋找 Windows 主機 OS DNS 伺服器(使用 檢查 ipconfing /all
),並使用這些伺服器位址。
可以檢查 Linux 和 Windows 節點所使用的 DNS 伺服器。 若要這樣做,請使用提升許可權的 PowerShell 工作階段執行下列 Cmdlet:
針對 Linux VM 節點:
Invoke-AksEdgeNodeCommand -NodeType Linux -command "resolvectl status"
命令輸出會顯示針對每個 Linux VM 介面所設定的 DNS 伺服器清單。 特別是,請務必檢查 eth0 介面狀態,這是 AKS EE VM 通訊的預設介面。 此外,請務必檢查清單的 [目前 DNS 伺服器 ] 和 [DNS 伺服器 ] 欄位的 IP 位址。 如果沒有 IP 位址,或 IP 位址不是有效的 DNS 伺服器 IP 位址,則 DNS 服務將無法運作。
針對 Windows VM 節點:
Invoke-AksEdgeNodeCommand -NodeType Windows -command "ipconfig /all"
命令輸出會顯示已設定的 Windows VM 網路介面清單。 特別是,請務必檢查 乙太網路卡 vEthernet (Ethernet) 介面狀態,這是 AKS Edge Essentials VM 通訊的預設介面。 此外,請務必檢查清單 [ DNS 伺服器 ] 欄位的IP位址。 如果沒有 IP 位址,或 IP 位址不是有效的 DNS 伺服器 IP 位址,則 DNS 服務將無法運作。
Proxy
Proxy 伺服器是專用軟體,可作為用戶端與因特網之間的閘道。 它會以中繼方式處理網路要求:當您連線到 Proxy 伺服器時,您的計算機會將要求傳送至伺服器,而不是直接傳送給收件者。 AKS Edge Essentials 支援為Linux和 Windows 虛擬機設定 Proxy 伺服器。
根據預設,在 AKS Edge Essentials 部署期間,您可以使用 、 Proxy.Https
和 Proxy.No
參數來提供 Proxy 組態Proxy.Http
。 如果未提供任何參數,部署機制 no_proxy
會使用必要的 Kubernetes 內部網路設定旗標。
針對 Linux VM 節點:
Invoke-AksEdgeNodeCommand -NodeType Linux -command 'env | grep proxy'
針對 Windows VM 節點:
Invoke-AksEdgeNodeCommand -NodeType Windows -command 'netsh winhttps show proxy'
靜態 MAC 位址
Hyper-V 可讓您建立具有靜態或動態 MAC 位址的虛擬機器。 在 AKS Edge Essentials 虛擬機建立期間,您可以使用 參數提供 VM MAC 位址 MacAddress
。 如果未提供任何值,則會隨機產生 MAC 位址並儲存在本機,以在虛擬機或 Windows 主機重新啟動時保留相同的位址。 若要查詢 AKS Edge Essentials 虛擬機 MAC 位址,您可以使用下列命令:
針對 Linux VM 節點:
Get-AksEdgeNodeAddr -NodeType Linux
針對 Windows VM 節點:
Get-AksEdgeNodeAddr -NodeType Windows