Share via


Azure Arc 対応 Kubernetes クラスターを準備する

重要

Azure Arc によって有効にされる Azure IoT Operations Preview は、 現在プレビュー段階です。 運用環境ではこのプレビュー ソフトウェアを使わないでください。

ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

Azure Arc 対応 Kubernetes クラスターは、Azure IoT Operations Preview をデプロイするための前提条件です。 この記事では、独自のワークロードを実行するために Azure IoT Operations Preview 拡張機能を Kubernetes クラスターにデプロイする前に、Azure Arc 対応 Kubernetes クラスターを準備する方法について説明します。 この記事には、Ubuntu、Windows、クラウドの環境に関するガイダンスが含まれています。

ヒント

Azure IoT Operations をデプロイしてサンプル ワークロードを実行する場合は、「クイック スタート: Azure IoT Operations Preview を Arc 対応 Kubernetes クラスターにデプロイする」を参照してください。

Azure Iot Operations は、Azure Arc 対応 Kubernetes サービスのセットとして出荷されており、CNCF 準拠の Arc 検証済みパートナー製品での使用を目的としています。 現在、Microsoft は、次の固定セットのインフラストラクチャと環境に対して Azure IoT Operations を検証しています。

環境 Version
Windows 11 IoT Enterprise の 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 Operations を実行できる環境はこれらだけではありません。 Azure IoT Operations は、Azure Arc 対応 Kubernetes システム要件を満たす任意の Arc 対応 Kubernetes クラスターで実行できます。

前提条件

Azure Arc 対応 Kubernetes クラスターを準備するには、以下が必要です。

  • Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料でアカウントを 1 つ作成してください。

  • 開発用コンピューターにインストールされている Azure CLI バージョン 2.46.0 以降。 az --version を使用してバージョンを確認し、必要に応じて az upgrade を使用して更新します。 詳細については、Azure CLIのインストール方法に関するページを参照してください。

  • Azure CLI 用の Azure IoT Operations 拡張機能。 次のコマンドを使用して、拡張機能を追加するか、それを最新バージョンに更新します。

    az extension add --upgrade --name azure-iot-ops
    
  • システム要件を満たすハードウェア:

クラスターの作成

このセクションでは、クラウドの GitHub Codespaces だけでなく、Linux および Windows 上の検証済み環境でクラスターを準備し、Arc 対応にする手順について説明します。

Azure Kubernetes Service Edge Essentials は、コンテナー化されたアプリケーションの大規模な実行を自動化する Azure Kubernetes Service (AKS) のオンプレミス Kubernetes 実装です。 AKS Edge Essentials には、Microsoft がサポートする Kubernetes プラットフォームが含まれています。これには、フットプリントが小さく、インストール エクスペリエンスがシンプルな軽量の Kubernetes ディストリビューションが含まれており、PC クラスまたは "ライト" エッジ ハードウェアに 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. 次のコマンドを実行して、クラスターに local-path ストレージをインストールします。

    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 Operations デプロイの準備ができていることを確認するために、Azure CLI 用の Azure IoT Operations 拡張機能で 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

サイトを作成する

OT ユーザーがアクセスできるクラスターを管理するには、クラスターをサイトにグループ化します。 詳細については、「Azure Arc サイト マネージャー (プレビュー) とは」を参照してください。

次のステップ

Azure Arc 対応 Kubernetes クラスターが作成されたので、Azure IoT Operations をデプロイできます。