次の方法で共有


クイック スタート: Azure Resource Manager テンプレートを使用して Kubernetes クラスターをデプロイする

適用対象: Azure Local バージョン 23H2

このクイックスタートでは、Azure Resource Manager (ARM) テンプレートを使用して AKS Arc に Kubernetes クラスターをデプロイする方法について説明します。 Azure Arc は、Azure 管理機能を任意の場所の Kubernetes クラスターに拡張し、さまざまな環境を管理するための統一されたアプローチを提供します。

開始する前に

この記事では、Kubernetes の基本的な概念を理解していることを前提としています。

ARM テンプレートをデプロイするには、デプロイしようとしているリソースに対する書き込みアクセス権、および Microsoft.Resources/deployments リソース タイプにあらゆる操作を実行できるアクセス権が必要です。 たとえば、仮想マシンをデプロイするには、 Microsoft.Compute/virtualMachines/writeMicrosoft.Resources/deployments/* アクセス許可が必要です。 ロールとアクセス許可の一覧については、Azure の組み込みロールに関するページを参照してください。

前提条件

  • アクティブなサブスクリプションが含まれる Azure アカウント。
  • Azure Local Version 23H2 クラスター。
  • 最新の Azure CLI バージョン。

ステップ 1: Azure アカウントを準備する

  1. Azure にサインインする: ターミナルまたはコマンド プロンプトを開き、Azure CLI を使用して Azure アカウントにサインインします。

    az login
    
  2. サブスクリプションを設定する: <your-subscription-id> をサブスクリプション ID に置き換えます。

    az account set --subscription "<your-subscription-id>"
    

ステップ 2: Azure CLI を使用して SSH キー ペアを作成する

az sshkey create --name "mySSHKey" --resource-group "myResourceGroup"

または、 ssh-keygen を使用して SSH キー ペアを作成します:

ssh-keygen -t rsa -b 4096

テンプレートをデプロイするには、SSH ペアから公開キーを指定する必要があります。 公開キーを取得するには、 az sshkey show コマンドを使用します。

az sshkey show --name "mySSHKey" --resource-group "myResourceGroup" --query "publicKey"

既定では、これらの SSH キー ファイルは ~/.ssh ディレクトリに作成されます。 az sshkey createまたは ssh-keygen コマンドを実行して、既存の SSH キー ペアを同じ名前で上書きします。

SSH キーの作成の詳細については、Azure での認証用の SSH キーの作成と管理に関するページを参照してください。

手順 3: テンプレートを確認する

AKSArc リポジトリからローカル コンピューターにテンプレートおよびパラメーター ファイルをダウンロードします。 すべての既定値が正しいことを確認します。

手順 4: テンプレートのデプロイ

Kubernetes クラスターをデプロイするには、次のコマンドを実行します。

az deployment group create \
--name "<deployment-name>" \
--resource-group "<resource-group-name>" \
--template-file "azuredeploy.json" \
--parameters "azuredeploy.parameters.json"

クラスターの作成には数分かかります。 クラスターが正常にデプロイされるのを待ってから、次の手順に進みます。

手順 5: デプロイを確認する

デプロイが完了したら、次のコマンドを使用して、Kubernetes クラスターが稼働していることを確認します。

az aksarc show --resource-group "<resource-group-name>" --name "<cluster-name>" --output table

手順 6: クラスターに接続する

  1. クラスターに接続するには、 az connectedk8s proxy コマンドを実行します。 このコマンドは、クライアント コンピューターでプロキシ バイナリをダウンロードして実行し、クラスターに関連付けられている kubeconfig ファイルをフェッチします。

    az connectedk8s proxy --name <cluster name> -g <resource group>
    

    または、Kubernetes コマンド ライン クライアント kubectl を使用します。 Azure Cloud Shell を使用する場合は、 kubectl が既にインストールされています。 ローカル kubectl をインストールして実行するには、 az aksarc install-cli コマンドを実行します。

    コマンドaz aksarc get-credentialskubectl を構成します。 このコマンドは、資格情報をダウンロードし、それを使用するように Kubernetes CLI を構成します。

    az aksarc get-credentials --resource-group "<resource-group-name>" --name "<cluster-name>"
    
  2. kubectl get コマンドを使用して、ご利用のクラスターへの接続を確認します。 このコマンドは、クラスター ノードの一覧を返します。

    kubectl get nodes -A --kubeconfig .\<path to kubecofig> 
    

    次の出力例は、前の手順で作成された 3 つのノードを示しています。 ノードの状態が "準備完了" であることを確認します。

    NAME                                STATUS   ROLES   AGE   VERSION
    aks-agentpool-27442051-vmss000000   Ready    agent   10m   v1.27.7
    aks-agentpool-27442051-vmss000001   Ready    agent   10m   v1.27.7
    aks-agentpool-27442051-vmss000002   Ready    agent   11m   v1.27.7
    

ステップ 7: Azure Resource Manager テンプレートを使用してノード プールをデプロイする (省略可)

ステップ 3 同様、AKSArc リポジトリからノード プール テンプレートとパラメーターをダウンロードし、既定値を確認します。

手順 8: テンプレートをデプロイし、デプロイを検証する (省略可能)

テンプレートを確認して適用します。 このプロセスが完了するまでに数分かかります。 Azure CLI を使用して、ノード プールが正常に作成されたことを検証できます。

az deployment group create \
--name "<deployment-name>" \
--resource-group "<resource-group-name>" \
--template-file "azuredeploy.json" \
--parameters "azuredeploy.parameters.json"
az aksarc nodepool show --cluster-name "<cluster-name>" --resource-group "<resource-group-name>" --name "<nodepool-name>"

Template resources

connectedClusters

名前 Description
type リソースの種類。 Microsoft.Kubernetes/ConnectedClusters
apiVersion リソース API のバージョン。 2024-01-01
name リソースの名前。 文字列 (必須)
文字制限: 1 ~ 63
有効な文字: 英数字、アンダースコア、ハイフン。
先頭と末尾には英数字を使用します。
location リソースが存在する地理的な場所。 文字列 (必須)。
tags リソース タグ。 タグ名と値のディクショナリ。 テンプレートの タグを参照してください
extendedLocation 仮想マシンの拡張された場所。 ExtendedLocation
identity 接続されているクラスターの ID (構成されている場合)。
properties 接続されたクラスターのプロパティ。

ProvisionedClusterInstances

名前 Description
type リソースの種類 microsoft.hybridcontainerservice/provisionedclusterinstances
apiVersion リソース API のバージョン 2024-01-01
name リソース名 文字列 (必須)。 これを default から変更しないでください。
properties 接続されたクラスターのプロパティ。
extendedLocation クラスターの拡張された場所。 ExtendedLocation

ExtendedLocation

名前 Description
name 拡張された場所の ID。 string
type 拡張された場所の型。 CustomLocation

次のステップ

AKS Arc の概要