クイック スタート: 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/write と Microsoft.Resources/deployments/* アクセス許可が必要です。 ロールとアクセス許可の一覧については、Azure の組み込みロールに関するページを参照してください。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。
- Azure Local Version 23H2 クラスター。
- 最新の Azure CLI バージョン。
ステップ 1: Azure アカウントを準備する
Azure にサインインする: ターミナルまたはコマンド プロンプトを開き、Azure CLI を使用して Azure アカウントにサインインします。
az login
サブスクリプションを設定する:
<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: クラスターに接続する
クラスターに接続するには、
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-credentials
kubectl を構成します。 このコマンドは、資格情報をダウンロードし、それを使用するように Kubernetes CLI を構成します。az aksarc get-credentials --resource-group "<resource-group-name>" --name "<cluster-name>"
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 |