Azure Arc on Azure Stack HCI 22H2 所啟用 AKS 的系統需求
適用於:Azure Stack HCI 版本 22H2;Windows Server 2022、Windows Server 2019
本文說明設定 Azure Arc 所啟用 Azure Kubernetes Service (AKS) 的需求。如需 Arc 啟用的 AKS 概觀,請參閱 AKS 概觀。
硬體需求
Microsoft 建議您向我們的合作夥伴購買經過驗證的 Azure Stack HCI 硬體/軟體解決方案。 這些解決方案經過設計、組合和驗證,可執行我們的參考結構,並確認相容性和可靠性,讓您可以快速啟動並執行。 您應該檢查您所使用的系統、元件、裝置和驅動程式是否為依據 Windows Server Catalog 的 Windows Server 認證。 如需已驗證的解決方案,請參閱 Azure Stack HCI 解決方案 網站。
重要
生產部署的主機系統必須是實體硬體。 不支援巢狀虛擬化,其特性為在虛擬機中部署 Azure Stack HCI 或 Windows Server,並在該虛擬機中安裝 AKS。
支援的硬體規格上限
不支援超過下列規格的 Azure Stack HCI 和 Windows Server 上的 AKS 部署:
資源 | 最大值 |
---|---|
每個叢集的實體伺服器 | 8 (Azure Stack HCI 22H2 版和 Windows Server) |
VM 數目總計 | 200 |
計算需求
最低記憶體需求
您可以透過下列方式設定 AKS 叢集,在具有有限 RAM 的單一節點上執行 AKS:
叢集類型 | 控制平面 VM 大小 | 背景工作節點 | 針對更新作業 | 負載平衡器 |
---|---|---|---|---|
AKS 主機 | Standard_A4_v2 VM 大小 = 8GB | N/A - AKS 主機沒有背景工作節點。 | 8GB | N/A - AKS 主機使用 kubevip 進行負載平衡。 |
工作負載叢集 | Standard_A4_v2 VM 大小 = 8GB | 1 個背景工作角色節點的 Standard_K8S3_v1 = 6GB | 可以針對工作負載叢集升級重複使用此保留的 8GB。 | 如果 kubevip 用於負載平衡 (,而不是預設 HAProxy 負載平衡器) ,則為 N/A。 |
最低需求總計: 30 GB RAM。
此最低需求適用於具有一個背景工作節點來執行容器化應用程式的AKS部署。 如果您選擇新增背景工作節點或HAProxy負載平衡器,最終 RAM 需求會隨之變更。
建議的計算需求
環境 | 每一伺服器的 CPU 核心數目 | RAM |
---|---|---|
Azure Stack HCI | 32 | 256 GB |
Windows Server 容錯移轉叢集 | 32 | 256 GB |
單一節點 Windows 伺服器 | 16 | 128 GB |
針對生產環境,最終重設大小取決於您打算部署在 Azure Stack HCI 或 Windows Server 叢集上的應用程式和背景工作節點數目。 如果您選擇在單一節點 Windows Server 上執行 AKS,則不會取得在 Azure Stack HCI 或 Windows Server 叢集或 Windows Server 故障轉移叢集上執行 AKS 時隨附的高可用性等功能。
Azure Stack HCI 和 Windows Server 上 AKS 的其他計算需求符合 Azure Stack HCI 需求。 如需 Azure Stack HCI 伺服器需求的詳細資訊,請參閱 Azure Stack HCI 系統 需求。
您必須在叢集中的每部伺服器上安裝相同的作業系統。 如果您使用 Azure Stack HCI,叢集中的每部伺服器上都必須有相同的 OS 和版本。 如果您使用 Windows Server Datacenter,叢集中的每部伺服器上都必須有相同的 OS 和版本。 每個OS都必須使用 en-us 區域和語言選項。 您無法在安裝後變更這些設定。
儲存體需求
Azure Stack HCI 和 Windows Server 上的 AKS 支援下列記憶體實作:
名稱 | 儲存體類型 | 所需容量 |
---|---|---|
Azure Stack HCI 叢集 | 叢集共用磁碟區 | 1 TB |
Windows Server Datacenter 容錯移轉叢集 | 叢集共用磁碟區 | 1 TB |
單一節點 Windows Server Datacenter | 直接連結的記憶體 | 500 GB |
針對 Azure Stack HCI 或 Windows Server 叢集,有兩個支援的記憶體組態可用於執行虛擬機工作負載:
- 混合式儲存體會使用快閃儲存體和硬碟 (HDD) 來平衡效能和容量。
- 全快閃儲存體使用固態硬碟 (SSD) 或 NVMe 來達到最大效能。
Azure Stack HCI 不支援只有 HDD 型存放裝置的系統,因此不建議執行 Azure Stack HCI 和 Windows Server 上的 AKS。 如需建議磁碟驅動器設定的詳細資訊,請參閱 Azure Stack HCI 檔。 在 Azure Stack HCI 目錄中驗證的所有系統都屬於這兩個支援的記憶體組態之一。
Kubernetes 會使用 etcd 來儲存叢集的狀態。 Etcd 會儲存執行中 pod 的設定、規格和狀態。 此外,Kubernetes 會使用存放區來探索服務。 作為 Kubernetes 作業的協調元件及其支援的工作負載,etcd 的延遲和輸送量很重要。 您必須在 SSD 上執行 AKS。 如需詳細資訊,請參閱 etcd.io 效能 。
針對 Windows Server Datacenter 型的叢集,您可以使用本機儲存體或 SAN 型存放裝置進行部署。 針對本機記憶體,建議您使用內建 儲存空間直接存取 或對等的認證虛擬 SAN 解決方案來建立超融合式基礎結構,呈現叢集共用磁碟區以供工作負載使用。 針對儲存空間直接存取,您的存放裝置必須使用混合式 (flash + HDD) 以平衡效能和容量,或使用全快閃 (SSD,NVMe) 以將效能最大化。 如果您選擇使用 SAN 型存放裝置進行部署,請確定您的 SAN 存放裝置可提供足夠的效能,以執行數個虛擬機器工作負載。 較舊的 HDD 型 SAN 記憶體可能無法提供執行多部虛擬機工作負載所需的效能層級,而且您可能會看到效能問題和逾時。
若為使用本機儲存體的單一節點 Windows Server 部署,強烈建議使用全快閃儲存體 (SSD,NVMe),以提供在單一實體主機上裝載多部虛擬機器所需的效能。 如果沒有快閃記憶體,HDD 上的較低效能層級可能會導致部署問題和逾時。
網路需求
下列需求適用於 Azure Stack HCI 22H2 叢集和 Windows Server Datacenter 叢集。 如需 Azure Stack HCI 23H2 的網路需求,請參閱 網路需求。
- 針對 Azure Stack HCI 22H2 和 Windows Server,如果您使用 Windows Admin Center,請確認您已設定現有的外部虛擬交換器。 對於 HCI 或 Windows Server 叢集,此參數及其名稱在所有叢集節點中都必須相同。 如需 HCI 23H2,請參閱 網路系統需求。
- 確認您已在所有網路介面卡上停用 IPv6。
- 若要成功部署,Azure Stack HCI 或 Windows Server 叢集節點,以及 Kubernetes 叢集 VM 必須具有外部網際網路連線能力。
- 請確定您為叢集定義的所有子網彼此之間和因特網之間皆可路由傳送。
- 請確定 Azure Stack HCI 主機和租用戶 VM 之間有網路連線能力。
- 所有節點都必須解析 DNS 名稱,才能彼此通訊。
- (建議) 在 DNS 環境中啟用動態 DNS 更新,以允許 AKS 在 DNS 系統中註冊雲端代理程式泛型叢集名稱以進行探索。
IP 位址指派
在 Arc 所啟用的 AKS 中,虛擬網路可用來將 IP 位址配置給需要它們的 Kubernetes 資源,如先前所列。 視您想要的 AKS 網路架構而定,有兩種網路模型可供選擇。
注意
此處針對 AKS 部署定義的虛擬網路架構,與數據中心的基礎實體網路架構不同。
- 靜態 IP 網路:虛擬網路會將靜態 IP 位址配置給 Kubernetes 叢集 API 伺服器、Kubernetes 節點、基礎 VM、負載平衡器,以及您在叢集頂端執行的任何 Kubernetes 服務。
- DHCP 網路:虛擬網路會使用 DHCP 伺服器,將動態IP位址配置給 Kubernetes 節點、基礎 VM 和負載平衡器。 Kubernetes 叢集 API 伺服器和您在叢集上執行的任何 Kubernetes 服務仍會配置靜態 IP 位址。
IP 位址保留的最小值
您至少應該為您的部署保留下列 IP 位址數目:
叢集類型 | 控制平面節點 | 背景工作節點 | 針對更新作業 | 負載平衡器 |
---|---|---|---|---|
AKS 主機 | 1 IP | NA | 2 IP | NA |
工作負載叢集 | 每個節點 1 個 IP | 每個節點 1 個 IP | 5 IP | 1 IP |
此外,您應該為您的 VIP 集區保留下列 IP 位址數目:
資源類型 | IP 位址數目 |
---|---|
叢集 API 伺服器 | 每個叢集 1 個 |
Kubernetes 服務 | 每個服務 1 個 |
如您所見,所需的IP位址數目會根據AKS架構和您在 Kubernetes 叢集上執行的服務數目而變動。 建議您為您的部署保留總計 256 個 IP 位址 (/24 子網路)。
如需網路需求的詳細資訊,請參閱 AKS 中的節點網路概念 和 AKS 中的容器網路概念。
網路埠和 URL 需求
由 Arc 需求啟用的 AKS
在 Azure Stack HCI 上建立 Kubernetes 叢集時,叢集中的每部伺服器上都會自動開啟下列防火牆埠。
如果 Azure Stack HCI 實體叢集節點和 Azure Kubernetes 叢集 VM 位於兩個隔離的 vlan 上,則必須在兩者之間的防火牆開啟這些埠:
Port | 來源 | 描述 | 防火牆注意事項 |
---|---|---|---|
22 | AKS VM | 使用 時收集記錄的必要專案 Get-AksHciLogs 。 |
如果使用個別的 VLAN,實體 Hyper-V 主機必須存取此埠上的 AKS VM。 |
6443 | AKS VM | 與 Kubernetes API 通訊的必要專案。 | 如果使用個別的 VLAN,實體 Hyper-V 主機必須存取此埠上的 AKS VM。 |
45000 | 實體 Hyper-V 主機 | wssdAgent gRPC 伺服器。 | 不需要跨 VLAN 規則。 |
45001 | 實體 Hyper-V 主機 | wssdAgent gRPC 驗證。 | 不需要跨 VLAN 規則。 |
46000 | AKS VM | wssdCloudAgent 至 lbagent。 | 如果使用個別的 VLAN,實體 Hyper-V 主機必須存取此埠上的 AKS VM。 |
55000 | 叢集資源 (-CloudServiceCIDR) | 雲端代理程式 gRPC 伺服器。 | 如果使用個別的 VLAN,AKS VM 必須存取此埠上的叢集資源 IP。 |
65000 | 叢集資源 (-CloudServiceCIDR) | 雲端代理程式 gRPC 驗證。 | 如果使用個別的 VLAN,AKS VM 必須存取此埠上的叢集資源 IP。 |
如果您的網路需要使用 Proxy 伺服器來連線到因特網,請參閱 在 AKS 上使用 Proxy 伺服器設定。
下列 URL 必須新增至您的允許清單:
URL | 連接埠 | 備註 |
---|---|---|
msk8s.api.cdp.microsoft.com | 443 | 用來從 SFS 下載 Azure Stack HCI 上的 AKS 產品目錄、產品位元和 OS 映像。 發生於執行 Set-AksHciConfig 時,以及您隨時從 SFS 下載時。 |
msk8s.b.tlu.dl.delivery.mp.microsoft.com msk8s.f.tlu.dl.delivery.mp.microsoft.com |
80 | 用來從 SFS 下載 Azure Stack HCI 上的 AKS 產品目錄、產品位元和 OS 映像。 發生於執行 Set-AksHciConfig 時,以及您隨時從 SFS 下載時。 |
login.microsoftonline.com login.windows.net management.azure.com msft.sts.microsoft.com graph.windows.net |
443 | 用來在執行 Set-AksHciRegistration 時登入 Azure。 |
ecpacr.azurecr.io mcr.microsoft.com *.mcr.microsoft.com *.data.mcr.microsoft.com *.blob.core.windows.net US 端點:wus2replica*.blob.core.windows.net |
443 | 執行 Install-AksHci 時,提取容器映像所需。 |
<region.dp.kubernetesconfiguration.azure.com> | 443 | 將 AKS 混合式叢集上線至 Azure Arc 的必要專案。 |
gbl.his.arc.azure.com | 443 | 取得提取系統指派受控識別憑證的區域端點的必要條件。 |
*.his.arc.azure.com | 443 | 提取系統指派的受控識別憑證所需的憑證。 |
k8connecthelm.azureedge.net | 443 | 已啟用Arc的 Kubernetes 會使用 Helm 3 在 AKS-HCI 管理叢集上部署 Azure Arc 代理程式。 Helm 用戶端下載需要此端點,以利部署代理程式 helm 圖表。 |
*.arc.azure.net | 443 | 在 Azure 入口網站 中管理 AKS 混合式叢集的必要專案。 |
dl.k8s.io | 443 | 需要下載及更新 Azure Arc 的 Kubernetes 二進位檔。 |
akshci.azurefd.net | 443 | 執行 Install-AksHci 時 AKS Azure Stack HCI 上的 AKS 計費所需。 |
v20.events.data.microsoft.com gcs.prod.monitoring.core.windows.net |
443 | 定期用來從 Azure Stack HCI 或 Windows Server 主機傳送 Microsoft 必要的診斷資料。 |
注意
Arc 啟用的 AKS 會儲存及處理客戶數據。 根據預設,客戶數據會保留在客戶部署服務實例的區域內。 此數據會儲存在區域 Microsoft 營運的數據中心內。 對於具有數據落地需求的區域,客戶數據一律會保留在相同的區域內。
Azure Arc 功能的其他 URL 需求
先前的 URL 清單涵蓋將 AKS 服務連線至 Azure 以進行計費的最低必要 URL。 如果您想要在 AKS 工作負載叢集上使用叢集連線、自定義位置、Azure RBAC 和其他 Azure 服務,例如 Azure 監視器等等,則必須允許其他 URL。 如需 Arc URL 的完整清單,請參閱 已啟用 Azure Arc 的 Kubernetes 網路需求。
您也應該檢閱 Azure Stack HCI URL。 由於 Azure Stack HCI 21H2 和更新版本預設會在 Azure Stack HCI 節點上安裝 Arc for 伺服器代理程式,因此您也應該檢閱 適用於伺服器代理程式的 Arc URL。
AKS 中的延展式叢集
如 延展式叢集概觀所述,不支援使用 Windows 延展式叢集在 Azure Stack HCI 和 Windows Server 上部署 AKS。 建議您針對數據中心作業持續性使用備份和災害復原方法。 如需詳細資訊,請參閱 在 Azure Stack HCI 和 Windows Server 上使用 Velero 和 Azure Blob 記憶體執行工作負載叢集備份或還原,以及 使用 GitOps 搭配 Flux v2 在 AksHci 上部署 設定,以取得應用程式持續性。
Windows Admin Center 需求
Windows Admin Center 是用來建立和管理 Azure Arc 所啟用 AKS 的使用者介面。若要搭配 Azure Stack HCI 和 Windows Server 上的 AKS 使用 Windows Admin Center,您必須符合下列清單中的所有準則。
以下是執行 Windows Admin Center 閘道的電腦需求:
- Windows 10 或 Windows Server。
- 向 Azure 註冊。
- 在與 Azure Stack HCI 或 Windows Server Datacenter 叢集相同的網域中。
- 您擁有擁有者許可權的 Azure 訂用帳戶。 您可以流覽至訂用帳戶,然後選取 [存取] (IAM) Azure 入口網站 左側,然後選取 [檢視我的存取權] 來檢查您的存取層級。
Azure 需求
您必須連線到您的 Azure 帳戶。
Azure 帳戶和訂用帳戶
如果您還沒有 Azure 帳戶,請建立帳戶。 您可以使用任何類型的現有訂用帳戶:
- 適用於 學生 或 Visual Studio訂閱者的 Azure 點數免費帳戶。
- 使用信用卡的隨用隨付訂用帳戶。
- 透過 Enterprise 合約 (EA) 取得的訂用帳戶。
- 透過雲端解決方案提供者 (CSP) 方案取得的訂用帳戶。
Microsoft Entra許可權、角色和存取層級
您必須有足夠的許可權,才能向 Microsoft Entra 租用戶註冊應用程式。
若要檢查您是否有足夠的權限,請遵循下列資訊:
- 移至 Azure 入口網站,然後選取 [Microsoft Entra ID] 底下的 [角色和系統管理員] 來檢查您的角色。
- 如果您的角色是 [使用者],則必須確定非系統管理員可以註冊應用程式。
- 若要檢查您是否可以註冊應用程式,請移至 Microsoft Entra 服務底下的 [用戶設定],以檢查您是否有權註冊應用程式。
如果應用程式註冊設定設為 [否],只有具有系統管理員角色的使用者可以註冊這些類型的應用程式。 若要瞭解提供給每個角色 Microsoft Entra ID 中可用的系統管理員角色和特定許可權,請參閱 Microsoft Entra 內建角色。 如果您的帳戶已指派「使用者」角色,但應用程式註冊設定僅限於系統管理員使用者,您可以請系統管理員指派其中一個可建立和管理所有應用程式註冊層面的系統管理員角色給您,或是讓使用者能夠註冊應用程式。
如果您沒有足夠的許可權可註冊應用程式,且您的系統管理員無法提供這些許可權,部署 AKS 最簡單的方式就是要求您的 Azure 系統管理員建立具有適當許可權的服務主體。 系統管理員可以檢查下列章節,以瞭解如何建立服務主體。
Azure 訂用帳戶角色和存取層級
若要檢查您的存取層級,您可以瀏覽至自己的訂用帳戶,然後選取 Azure 入口網站左側的 [存取控制 (IAM)] 並選取 [檢視我的存取權]。
- 如果您使用 Windows Admin Center 來部署 AKS 主機或 AKS 工作負載叢集,您必須擁有擁有者所在的 Azure 訂用帳戶。
- 如果您使用PowerShell來部署 AKS 主機或 AKS 工作負載叢集,註冊叢集的用戶必須至少有下列其中一項:
如果您的 Azure 訂用帳戶是透過 EA 或 CSP,部署 AKS 最簡單的方式就是要求 Azure 系統管理員建立具有適當許可權的服務主體。 系統管理員可以檢查下一節,以瞭解如何建立服務主體。
選擇性:建立新的服務主體
執行下列步驟來建立具有內建 擁有者 角色的新服務主體。 只有訂用帳戶擁有者可使用正確的角色指派來建立服務主體。 您可以流覽至您的訂用帳戶、選取 [存取] (IAM) Azure 入口網站 左側,然後選取 [檢視我的存取權] 來檢查您的存取層級。
在 PowerShell 管理視窗中設定下列 PowerShell 變數。 確認訂用帳戶和租使用者是您要用來註冊 AKS 主機以進行計費的內容:
$subscriptionID = "<Your Azure subscrption ID>"
$tenantID = "<Your Azure tenant ID>"
安裝並匯入 AKS PowerShell 模組:
Install-Module -Name AksHci
請使用 Connect-AzAccount PowerShell 命令登入 Azure:
Connect-AzAccount -tenant $tenantID
執行 Set-AzContext 命令,設定您想要用來註冊 AKS 主機作為預設訂用帳戶的訂用帳戶:
Set-AzContext -Subscription $subscriptionID
執行 Get-AzContext PowerShell 命令,確認您的登入內容是否正確。 確認訂用帳戶、租用戶和帳戶是您要用來註冊 AKS 主機以進行計費的內容:
Get-AzContext
Name Account SubscriptionName Environment TenantId
---- ------- ---------------- ----------- --------
myAzureSubscription (92391anf-... user@contoso.com myAzureSubscription AzureCloud xxxxxx-xxxx-xxxx-xxxxxx
藉由執行 New-AzADServicePrincipal PowerShell 命令來建立服務主體。 此命令會建立具有 擁有者 角色的服務主體,並在訂用帳戶層級設定範圍。 如需建立服務主體的詳細資訊,請參閱使用 Azure PowerShell 建立 Azure 服務主體。
$sp = New-AzADServicePrincipal -role "Owner" -scope /subscriptions/$subscriptionID
執行下列命令來擷取服務主體的密碼。 請注意,此命令僅適用於 Az.Accounts 2.6.0 或更新版本。 當您安裝 AksHci PowerShell 模組時,我們會自動下載 Az.Accounts 2.6.0 模組:
$secret = $sp.PasswordCredentials[0].SecretText
Write-Host "Application ID: $($sp.ApplicationId)"
Write-Host "App Secret: $secret"
從上一個輸出中,您現在擁有部署 AKS 時可用的 應用程式識別碼 和 秘密 。 您應該記下這些專案,並安全地儲存這些專案。 建立之後,在 [Azure 入口網站] 的 [訂用帳戶] 底下,存取控制,然後[角色指派],您應該會看到新的服務主體。
Azure 資源群組
您必須於註冊前即在澳大利亞東部、美國東部、東南亞或西歐 Azure 區域中具有可用的 Azure 資源群組。
Azure 區域
警告
AKS Arc 目前僅支援在下列指定的 Azure 區域內建立叢集。 如果您嘗試在此清單外部的區域部署,就會發生部署失敗。
AKS Arc 服務用於註冊、計費和管理。 目前支援下列區域:
- 美國東部
- 美國中南部
- 西歐
Active Directory 需求
若要讓具有 2 個或多個實體節點的 AKS 故障轉移叢集在 Active Directory 環境中以最佳方式運作,請確定符合下列需求:
注意
單一節點 Azure Stack HCI 或 Windows Server 部署不需要 Active Directory。
- 設定時間同步處理,讓所有叢集節點和網域控制站之間的分歧不超過 2 分鐘。 如需設定時間同步處理的詳細資訊,請參閱 Windows 時間服務。
- 請確定用來新增更新的使用者帳戶 () ,以及管理 AKS 或 Windows Server Datacenter 叢集在 Active Directory 中具有正確的許可權。 如果您使用組織單位 (OU) 來管理伺服器和服務組策略,則使用者帳戶 () 需要 OU 中所有物件的清單、讀取、修改和刪除許可權。
- 針對 AKS 或 Windows Server Datacenter 叢集的伺服器和服務使用個別的組織單位 (OU) 。 使用個別的 OU 可讓您以更細微的方式控制存取和權限。
- 如果您在 Active Directory 的容器上使用 GPO 範本,請確定在部署 Azure Stack HCI 和 Windows Server 上的 AKS 時,不受原則的豁免。
後續步驟
滿足上述所有必要條件之後,您可以使用下列程式在 Azure Stack HCI 上設定 AKS 主機: