Share via


準備已啟用 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
    
  • 符合系統需求的硬體:

建立叢集

本節提供在 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。

  1. 已驗證 AKS Edge Essentials 版本的安裝程式下載到本機電腦。

  2. 完成準備適用於 AKS Edge Essentials 的電腦中的步驟。 請務必使用您在上一個步驟中下載的已驗證安裝程式,而不是最新版本。

在您的電腦上設定 AKS Edge Essentials 叢集。

  1. 完成建立單一計算機部署中的步驟,但在步驟 1:單一計算機組態參數的結尾,修改aksedge-config.json檔案中的下列值:

    `Init.ServiceIPRangeSize` = 10
    `LinuxNode.DataSizeInGB` = 30
    `LinuxNode.MemoryInMB` = 8192
    
  2. 執行下列命令,在叢集中安裝 本機路徑 記憶體:

    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 作業