準備已啟用 Azure Arc 的 Kubernetes 叢集
重要
Azure IoT Operations Preview – 由 Azure Arc 啟用目前處於預覽狀態。 您不應該在生產環境中使用此預覽軟體。
請參閱 Microsoft Azure 預覽版增補使用規定,以了解適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的法律條款。
已啟用 Azure Arc 的 Kubernetes 叢集是部署 Azure IoT Operations Preview 的必要條件。 本文說明如何在您將 Azure IoT Operations Preview 延伸模組部署至 Kubernetes 叢集之前,先準備已啟用 Azure Arc 的 Kubernetes 叢集 ,以執行自己的工作負載。 本文包含Ubuntu、Windows和雲端環境的指引。
提示
如果您想要部署 Azure IoT 作業並執行範例工作負載,請參閱 快速入門:將 Azure IoT 作業預覽部署到已啟用 Arc 的 Kubernetes 叢集。
Azure Iot Operations 隨附於一組已啟用 Azure Arc 的 Kubernetes 服務,且適用於與 符合CNCF 標準的 Arc 驗證合作夥伴產品搭配使用。 目前,Microsoft 已針對下列固定組基礎結構和環境驗證 Azure IoT 作業:
Environment | 版本 |
---|---|
Windows 11 IoT 企業版上的 AKS-EE 在單一節點 AMD Ryzen-7 上 (8 核心,3.3 GHz),16 GB RAM |
AksEdge-K3s-1.26.10-1.6.384.0 |
Ubuntu 22.04.2 上的 K3s 在單一節點 AMD Ryzen-7 上 (8 核心,3.3 GHz),16 GB RAM |
K3s 1.28.5 版 |
重要
先前列出的環境是 Microsoft 已驗證的生產環境。 它們不是 Azure IoT 作業可以執行的唯一環境。 Azure IoT 作業可以在任何已啟用 Arc 的 Kubernetes 叢集上執行,以符合 已啟用 Azure Arc 的 Kubernetes 系統需求。
必要條件
若要準備已啟用 Azure Arc 的 Kubernetes 叢集,您需要:
- 符合 系統需求的硬體。
Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶, 請在開始之前免費 建立一個訂用帳戶。
安裝在開發電腦上的 Azure CLI 2.46.0 版或更新版本。 使用
az --version
來檢查您的版本,並az upgrade
視需要更新。 如需詳細資訊,請參閱如何安裝 Azure CLI。適用於 Azure CLI 的 Azure IoT 作業延伸模組。 使用下列命令將擴充功能新增或更新至最新版本:
az extension add --upgrade --name azure-iot-ops
符合系統需求的硬體:
- 請確定您的電腦至少有 10 GB RAM、4 個 vCPU 和 40 GB 的可用磁碟空間。
- 檢閱 AKS Edge Essentials 需求和支援矩陣。
- 檢閱 AKS Edge Essentials 網路指引。
建立叢集
本節提供在 Linux 和 Windows 上已驗證環境中準備和啟用 Arc 的叢集,以及雲端中的 GitHub Codespaces 的步驟。
Azure Kubernetes Service Edge Essentials 是 Azure Kubernetes Service (AKS) 的內部部署 Kubernetes 實作,可大規模自動化執行容器化應用程式。 AKS Edge Essentials 包含 Microsoft 支援的 Kubernetes 平臺,其中包含輕量型 Kubernetes 散發套件,其使用量小且安裝體驗簡單,可讓您輕鬆地在計算機類別或「輕量」邊緣硬體上部署 Kubernetes。
提示
您可以使用 AksEdgeQuickStartForAio.ps1 腳本,將本節中的步驟自動化,並聯機您的叢集。
開啟提升權限的 PowerShell 視窗,將目錄變更為工作資料夾,然後執行下列命令:
$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>"
您的電腦可能會在此程式中重新啟動。 如果是,請再次執行整組命令。
準備您的計算機以取得 AKS Edge Essentials。
將 已驗證 AKS Edge Essentials 版本的安裝程式下載到本機電腦。
完成準備適用於 AKS Edge Essentials 的電腦中的步驟。 請務必使用您在上一個步驟中下載的已驗證安裝程式,而不是最新版本。
在您的電腦上設定 AKS Edge Essentials 叢集。
完成建立單一計算機部署中的步驟,但在步驟 1:單一計算機組態參數的結尾,修改aksedge-config.json檔案中的下列值:
`Init.ServiceIPRangeSize` = 10 `LinuxNode.DataSizeInGB` = 30 `LinuxNode.MemoryInMB` = 8192
執行下列命令,在叢集中安裝 本機路徑 記憶體:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/local-path-storage.yaml
執行下列命令來檢查部署是否成功:
Import-Module AksEdge
Get-AksEdgeDeploymentInfo
在命令的 Get-AksEdgeDeploymentInfo
輸出中,您應該會看到叢集的 Arc 狀態為 Connected
。
啟用 Arc 的叢集
連線 叢集至 Azure Arc,以便從遠端管理。
若要將叢集連線至 Azure Arc,請完成將 AKS Edge Essentials 叢集 連線 至 Arc 中的步驟。
確認您的叢集
若要確認您的叢集已準備好進行 Azure IoT 作業部署,您可以在 適用於 Azure CLI 的 Azure IoT 作業擴充功能中使用 verify-host Helper 命令。 在叢集主機上執行時,此協助程式命令會檢查 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
建立網站
若要管理 OT 使用者可存取的叢集,您可以將叢集分組到月臺。 若要深入瞭解,請參閱 什麼是 Azure Arc 網站管理員(預覽版)?。
下一步
現在您已擁有已啟用 Azure Arc 的 Kubernetes 叢集,您可以 部署 Azure IoT 作業。