準備已啟用 Azure Arc 的 Kubernetes 叢集
重要
已啟用 Azure Arc 的 Azure IoT 操作預覽版目前為預覽狀態。 請勿在生產環境使用此預覽版軟體。
當正式推出的版本可使用時,您必須部署新的 Azure IoT 操作安裝。 您將無法升級預覽安裝。
請參閱 Microsoft Azure 預覽版增補使用規定,以了解適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的法律條款。
已啟用 Azure Arc 的 Kubernetes 叢集是部署 Azure IoT 操作預覽版的必要條件。 本文說明如何在您將 Azure IoT Operations Preview 部署至已啟用 Arc 的 Kubernetes 叢集之前準備叢集。 本文包含Ubuntu和 Windows 的指引。
提示
本文中的步驟會準備叢集以進行安全設定部署,這是較長但已準備好生產環境的程式。 如果您想要快速部署 Azure IoT 作業,並只執行具有測試設定的範例工作負載,請參閱 快速入門:改為在 Github Codespaces 中使用 K3 執行 Azure IoT Operations Preview。
如需測試設定和安全設定的詳細資訊,請參閱 部署詳細數據 > 選擇您的功能。
必要條件
Azure IoT 作業應該在任何已啟用 Arc 的 Kubernetes 叢集上運作,以符合 已啟用 Azure Arc 的 Kubernetes 系統需求。 Azure IoT 作業目前不支援Arm64架構。
Microsoft支援 Azure Kubernetes Service (AKS) Edge Essentials,以用於在 Windows 上部署,而適用於 Ubuntu 上的部署 K3。 如需已測試及驗證的特定硬體和軟體組合清單,請參閱 已驗證的環境。
如果您想要將 Azure IoT 作業部署到多節點解決方案,請在 Ubuntu 上使用 K3。
若要準備已啟用 Azure Arc 的 Kubernetes 叢集,您需要:
Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始之前建立免費帳戶。
安裝在開發電腦上的 Azure CLI 2.64.0 版或更新版本。 使用
az --version
檢查您的版本,並視需要更新az upgrade
。 如需詳細資訊,請參閱如何安裝 Azure CLI。適用於 Azure CLI 的 Azure IoT 作業擴充功能最新版本。 使用下列命令將延伸模組新增或更新至最新版本:
az extension add --upgrade --name azure-iot-ops
符合系統需求的硬體:
- 確定您的電腦至少有 16 GB 可用的 RAM、8 個可用的 vCPU,以及保留給 Azure IoT 作業的 52 GB 可用磁碟空間。
- 已啟用 Azure Arc 的 Kubernetes 系統需求。
- AKS Edge Essentials 需求和支援矩陣。
- AKS Edge Essentials 網路指引。
如果您要將 Azure IoT 作業部署到已啟用容錯的多節點叢集,請檢閱準備 Linux for Edge 磁碟區中的硬體和記憶體需求。
建立叢集
本節提供在Linux和 Windows 上已驗證的環境中建立叢集的步驟。
Azure Kubernetes Service 邊緣程式集是 Azure Kubernetes Service (AKS) 的內部部署 Kubernetes,可自動執行大規模的容器化應用程式。 AKS Edge Essentials 包含Microsoft支援的 Kubernetes 平臺,其中包含輕量型 Kubernetes 散發套件,其使用量小,且安裝體驗簡單,可支援計算機類別或「輕量」邊緣硬體。
AksEdgeQuickStartForAio.ps1 腳本會自動建立和聯機叢集的程式,而且是在 AKS Edge Essentials 上部署 Azure IoT 作業的建議路徑。
開啟提升權限的 PowerShell 視窗,並將目錄變更為工作資料夾。
objectId
取得 Azure Arc 服務在您的租使用者中使用的 Microsoft Entra ID 應用程式。az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
執行下列命令,以您的資訊取代預留位置值:
預留位置 值 SUBSCRIPTION_ID Azure 訂用帳戶的識別碼。 如果您不知道訂用帳戶識別碼,請參閱尋找您的 Azure 訂用帳戶。 TENANT_ID 您的 Microsoft Entra 租用戶識別碼。 如果您不知道租用戶識別碼,請參閱尋找您的 Microsoft Entra 租用戶。 RESOURCE_GROUP_NAME 現有資源群組的名稱,或要建立之新資源群組的名稱。 LOCATION 靠近您的 Azure 區域。 如需目前支援的 Azure 區域清單,請參閱支援的區域。 CLUSTER_NAME 要建立之新叢集的名稱。 ARC_APP_OBJECT_ID 您在上一個步驟中擷取的物件標識碼值。 $url = "https://raw.githubusercontent.com/Azure/AKS-Edge/main/tools/scripts/AksEdgeQuickStart/AksEdgeQuickStartForAio.ps1" Invoke-WebRequest -Uri $url -OutFile .\AksEdgeQuickStartForAio.ps1 Unblock-File .\AksEdgeQuickStartForAio.ps1 Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force .\AksEdgeQuickStartForAio.ps1 -SubscriptionId "<SUBSCRIPTION_ID>" -TenantId "<TENANT_ID>" -ResourceGroupName "<RESOURCE_GROUP_NAME>" -Location "<LOCATION>" -ClusterName "<CLUSTER_NAME>" -CustomLocationOid "<ARC_APP_OBJECT_ID>"
如果部署期間發生任何問題 (包括您的機器在此過程中重新開機的話),請重新執行整組命令。
執行下列命令來檢查部署是否成功:
Import-Module AksEdge Get-AksEdgeDeploymentInfo
在
Get-AksEdgeDeploymentInfo
命令的輸出中,您應該會看到叢集的 Arc 狀態Connected
。
啟用 Arc 的叢集
將您的叢集連線到 Azure Arc,以便能從遠端進行管理。
驗證叢集
若要確認叢集已準備好進行 Azure IoT 操作部署,您可以在適用於 Azure CLI 的 Azure IoT 操作延伸功能中使用 verify-host 協助程式命令。 在叢集主機上執行時,此協助程式命令會檢查 Azure Resource Manager 和 Microsoft Container Registry 端點的連線能力。
az iot ops verify-host
若要確認 Kubernetes 叢集已啟用 Azure Arc,請執行下列命令:
kubectl get deployments,pods -n azure-arc
輸出看起來會像下列範例這樣:
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/clusterconnect-agent 1/1 1 1 10m
deployment.apps/extension-manager 1/1 1 1 10m
deployment.apps/clusteridentityoperator 1/1 1 1 10m
deployment.apps/controller-manager 1/1 1 1 10m
deployment.apps/flux-logs-agent 1/1 1 1 10m
deployment.apps/cluster-metadata-operator 1/1 1 1 10m
deployment.apps/extension-events-collector 1/1 1 1 10m
deployment.apps/config-agent 1/1 1 1 10m
deployment.apps/kube-aad-proxy 1/1 1 1 10m
deployment.apps/resource-sync-agent 1/1 1 1 10m
deployment.apps/metrics-agent 1/1 1 1 10m
NAME READY STATUS RESTARTS AGE
pod/clusterconnect-agent-5948cdfb4c-vzfst 3/3 Running 0 10m
pod/extension-manager-65b8f7f4cb-tp7pp 3/3 Running 0 10m
pod/clusteridentityoperator-6d64fdb886-p5m25 2/2 Running 0 10m
pod/controller-manager-567c9647db-qkprs 2/2 Running 0 10m
pod/flux-logs-agent-7bf6f4bf8c-mr5df 1/1 Running 0 10m
pod/cluster-metadata-operator-7cc4c554d4-nck9z 2/2 Running 0 10m
pod/extension-events-collector-58dfb78cb5-vxbzq 2/2 Running 0 10m
pod/config-agent-7579f558d9-5jnwq 2/2 Running 0 10m
pod/kube-aad-proxy-56d9f754d8-9gthm 2/2 Running 0 10m
pod/resource-sync-agent-769bb66b79-z9n46 2/2 Running 0 10m
pod/metrics-agent-6588f97dc-455j8 2/2 Running 0 10m
下一步
現在您已經有了已啟用 Azure Arc 的 Kubernetes 叢集,接著可以部署 Azure IoT 操作。