このクイック スタート ガイドでは、Azure Kubernetes Service (AKS) Edge Essentials 単一マシン K3S Linux 専用クラスターを設定する方法について説明します。
Note
- このクイック スタート スクリプトを使用すると、評価プロセスが容易になります。 Azure サブスクリプションの 1 回限りのセットアップには、より高いレベルの資格情報が必要です。 このスクリプトは、運用環境での使用を目的としたものではありません。
- 既定では、このクイック スタート スクリプトでは、Init.KmsPlugin を true に設定することで、キー管理サービス (KMS) プラグイン (プレビュー) を有効にします。 詳細については、「AKS Edge Essentials クラスターでシークレット暗号化を有効にする」を参照してください。
前提条件
- システム要件を参照してください。 このクイック スタートでは、4.5 GB 以上の RAM 空き容量、4 個の vCPU、20 GB の空きディスク領域があることを確認します。
- OS の要件: コンピューターに Windows 10/11 IoT Enterprise/Enterprise/Pro をインストールし、Windows をアクティブ化します。 最新の クライアント バージョン 22H2 (OS ビルド 19045) または サーバー 2022 (OS ビルド 20348) を使用します。 こちらから Windows 10 のバージョンをダウンロード、または こちらから Windows 11 をダウンロード できます。
- ソフトウェアの使用に適用される Microsoft ソフトウェア ライセンス条項 を参照してください。
AksEdgeQuickStartスクリプトを使用すると、Microsoft ソフトウェア ライセンス条項に同意し、AcceptEULAフラグがライセンス条項への同意を示すtrueに設定されます。 - Azure サブスクリプション パラメーターを取得します。クラスターを Azure Arc に接続するには、これらのパラメーターを指定する必要があります。 これらのパラメーターをスキップすると、Arc 接続はスキップされますが、クラスターは引き続きデプロイされます。
-
ログイン資格情報: Azure CLI を使用した Azure への対話型認証に必要です。 アカウントには、
Owner、Contributor、またはAdministratorのいずれかのロールが必要です。 -
サブスクリプション ID
<subscription-id>: Azure portal で、使用しているサブスクリプションを選択し、サブスクリプション ID (GUID) を探します。 -
テナント ID
<tenant-id>: Azure portal で Microsoft Entra ID を検索し、デフォルト ディレクトリ ページに移動します。 テナント ID (GUID) を探します。 -
Location (Azure リージョン)
<location>: リソースを作成する場所。 およびAzure Arc enabled serversサービスでサポートされている場所についてはAzure Arc enabled KubernetesAzure Arc を参照してください。 両方がサポートされているリージョンを選択します。
-
ログイン資格情報: Azure CLI を使用した Azure への対話型認証に必要です。 アカウントには、
手順 1: デプロイを容易にするスクリプトをダウンロードする
AksEdgeQuickStart.ps1 スクリプトを作業フォルダーにダウンロードします。 コンピューターでのポリシーの設定によっては、ファイルを実行する前にファイルのブロックを解除し、 Set-ExecutionPolicy 実行してスクリプトの実行を許可することが必要になる場合があります。
管理者特権の PowerShell ウィンドウを開き、ディレクトリを作業フォルダーに変更します。
$url = "https://raw.githubusercontent.com/Azure/AKS-Edge/main/tools/scripts/AksEdgeQuickStart/AksEdgeQuickStart.ps1"
Invoke-WebRequest -Uri $url -OutFile .\AksEdgeQuickStart.ps1
Unblock-File .\AksEdgeQuickStart.ps1
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
このスクリプトでは、次の手順が自動化されます。
- 作業フォルダーでは、スクリプトによって Azure/AKS-Edge の GitHub アーカイブがダウンロードされAKS-Edge-mainフォルダーに解凍されます。 既定では、この手順では現在のメイン ブランチがダウンロードされます。
-
AksEdgeAzureSetup スクリプトを使用して、ユーザーが自分の Azure 資格情報を使用して Azure portal にサインインするように求め、次のタスクを実行します。
- Azure CLI をインストールします。
- リソース グループ aksedge-rp を作成します。
- aksedge-rp リソース グループ スコープに制限された Contributor ロールで、サービス プリンシパル aksedge-sp を作成します。 サービス プリンシパルが既に存在する場合は、そのパスワードをリセットします。 このサービス プリンシパルは、Azure Arc への接続に使用されます。
- Microsoft.HybridCompute、Microsoft.GuestConfiguration、Microsoft.HybridConnectivity、Microsoft.Kubernetes、Microsoft.KubernetesConfiguration、Microsoft.ExtendedLocation のリソース プロバイダーを登録します。
- 以下のタスクを実行する
Start-AideWorkflow関数を呼び出します。- AKS Edge Essentials MSI をダウンロードしてインストールします。
- 必要なホスト OS 機能 (
Install-AksEdgeHostFeatures) をインストールします。 Hyper-V が有効になっていると、コンピューターが再起動する可能性があり、スクリプトをもう一度再起動する必要があります。 - 内部スイッチを使用して 1 つのマシン クラスターをデプロイします (Linux ノードのみ)。
- Azure パラメーターが指定されている場合は、
Connect-AideArc関数を呼び出します。 この関数は、次のタスクを実行します。- Azure Connected Machine Agent をインストールし、ホスト マシンを Arc for Servers に接続します。
- デプロイされたクラスターを、接続された Kubernetes の Arc に接続します。
ヒント
$aksedgeConfig スクリプトのAksEdgeQuickStart json コンテンツを変更して、追加のオプションを指定できます。 使用可能なオプションについては、「 JSON 構成のデプロイ」を参照してください。
手順 2: AKS Edge Essentials をデプロイする
管理者特権の PowerShell プロンプトで、 AksEdgeQuickStart.ps1 スクリプトを実行します。 このスクリプトは、K3s クラスターを起動します。
.\AksEdgeQuickStart.ps1 -SubscriptionId "<subscription-id>" -TenantId "<tenant-id>" -Location "<location>"
Kubernetes バージョンをインストールするには、 -UseK8s フラグを指定します。
.\AksEdgeQuickStart.ps1 -SubscriptionId "<subscription-id>" -TenantId "<tenant-id>" -Location "<location>" -UseK8s
このスクリプトは、AKS Edge Essentials をインストールし、Azure Arc を使用してクラスターを Azure に接続します。
ヒント
コンピューターで Hyper-V が有効になっていない場合は、クイック スタート スクリプトによって Hyper-V が有効になり、コンピューターが再起動されます。 再起動後、 AksEdgeQuickStart スクリプトをもう一度実行します。
手順 3: デプロイを確認する
次を実行して、デプロイが成功したことを確認します。
kubectl get nodes -o wide kubectl get pods -A -o wide次の図は、K3S クラスター上のポッドを示しています。
リソース グループに移動すると、Azure portal でクラスターを表示できます。
左側のパネルで、Kubernetes リソース (プレビュー)の下にある Namespaces を選択します。
Kubernetes リソースを表示するには、ベアラー トークンが必要です。
Get-AksEdgeManagedServiceTokenを実行してサービス トークンを取得します。
これで、クラスター上のリソースを表示できます。 [ワークロード] には、このクラスターで実行されているポッドが表示されます。
kubectl get pods --all-namespaces
これで、Arc に接続された AKS Edge Essentials K3S クラスターと Linux ノードが作成されました。 このクラスターにサンプル Linux アプリケーションをデプロイする方法について説明します。
ヒント
AksEdgeQuickStart.ps1 スクリプトの実行中に Azure サブスクリプションの詳細を指定しなかった場合でも、この記事の手順に従って Azure Arc に接続できます。