このクイック スタートでは、Azure Resource Manager (ARM) テンプレートを使用して、ノード オペレーティング システム (OS) として Container Linux (ACL) Azure実行するAzure Kubernetes Service (AKS) クラスターを作成します。 前提条件をインストールしたら、SSH キー ペアを作成し、テンプレートを確認し、テンプレートをデプロイして、クラスターに接続します。
Azure Container Linux (ACL) に関する考慮事項と制限事項
開始する前に、ACL に関する次の考慮事項と制限事項を確認してください。
- ACL は、AKS v1.34 以降で一般提供されています。
- ACL には、セキュア ブートと vTPM を使用 したトラステッド起動 が必要です。 信頼されていない起動バリアントは使用できません。
- Arm64 の ACL では、Trusted Launch の互換性を有効にするために Cobalt ベース (v6) SKU が必要です。
-
NodeImageおよびNoneは、サポートされている唯一の オペレーティング システム (OS) アップグレード チャネルです。UnmanagedおよびSecurityPatchは、変更できない/usrディレクトリのため、ACL と互換性がありません。 - アーティファクト ストリーミング はサポートされていません。
- ポッドサンドボックス はサポートされていません。
- Confidential Virtual Machines (CVM) は サポートされていません。
- 第 1 世代 VM はサポートされていません。
Prerequisites
Note
Azure Cloud ShellまたはAzure CLIのローカル インストールを使用して、このクイック スタートのコマンドを実行できます。
- Azure CLIをローカルで実行している場合は、 Azure CLIをインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。
- ローカル インストールを使用している場合は、
az loginコマンドを使用してAzure CLIにサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。 - 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。
- Azure Container Linux には、バージョン 2.86.0 以降Azure CLI必要です。
az versionコマンドを使用して、インストールされているAzure CLIバージョンと依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgradeコマンドを使用します。 - kubectl がまだインストールされていない場合は、
az aks install-cliコマンドを使用して Azure CLI を使用してインストールするか、upstream の手順 に従います。 - ARM テンプレートを使用して AKS クラスターを作成するには、SSH 公開キーを指定する必要があります。 このリソースが必要な場合は、「 SSH キー ペアの作成 」セクションに移動して、テンプレートをデプロイする前に SSH キー ペアを生成します。 SSH キー ペアが既にある場合は、「 テンプレートの確認 」セクションに進むことができます。
- クラスターの作成に使用する ID には、適切な最小限のアクセス許可が必要です。 AKS のアクセスと ID の情報については、「Azure Kubernetes Service (AKS) でのアクセスと ID オプション」を参照してください。
- ARM テンプレートをデプロイするには、デプロイするリソースに対する書き込みアクセス権と、Microsoft.Resources/deployments リソースの種類に対するすべての操作へのアクセス権が必要です。 たとえば、仮想マシン (VM) をデプロイするには、Microsoftが必要です。Compute/virtualMachines/write および Microsoft。リソース/デプロイ/* アクセス許可。 ロールとアクセス許可の一覧については、Azure の組み込みロールに関するページを参照してください。
SSH キー ペアを作成する
AKS ノードにアクセスするには、ssh-keygen コマンドを使用して生成する SSH キーの組 (公開および秘密) を使用して接続します。 既定では、これらのファイルは ~/.ssh ディレクトリに作成されます。
ssh-keygen コマンドを実行すると、指定した場所に同じ名前の SSH キーの組が既に存在する場合は上書きされます。
https://shell.azure.com にアクセスし、お使いのブラウザーで Cloud Shell を開きます。
ssh-keygenコマンドを実行します。 次の例では、RSA 暗号化と 4096 ビット長を使用して SSH キーの組が作成されます。ssh-keygen -t rsa -b 4096
SSH キーの作成の詳細については、Azure での認証用の SSH キーの作成と管理に関するページを参照してください。
テンプレートを確認する
次のデプロイでは、
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"clusterName": {
"type": "string",
"defaultValue": "aclakscluster",
"metadata": {
"description": "The name of the Managed Cluster resource."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "The location of the Managed Cluster resource."
}
},
"dnsPrefix": {
"type": "string",
"metadata": {
"description": "Optional DNS prefix to use with hosted Kubernetes API server FQDN."
}
},
"osDiskSizeGB": {
"type": "int",
"defaultValue": 0,
"minValue": 0,
"maxValue": 1023,
"metadata": {
"description": "Disk size (in GB) to provision for each of the agent pool nodes. Specifying 0 applies the default disk size for that agentVMSize."
}
},
"agentCount": {
"type": "int",
"defaultValue": 3,
"minValue": 1,
"maxValue": 50,
"metadata": {
"description": "The number of nodes for the cluster."
}
},
"agentVMSize": {
"type": "string",
"defaultValue": "standard_d2s_v3",
"metadata": {
"description": "The size of the Virtual Machine."
}
},
"linuxAdminUsername": {
"type": "string",
"metadata": {
"description": "User name for the Linux Virtual Machines."
}
},
"sshRSAPublicKey": {
"type": "string",
"metadata": {
"description": "Configure all linux machines with the SSH RSA public key string."
}
}
},
"resources": [
{
"type": "Microsoft.ContainerService/managedClusters",
"apiVersion": "2026-03-01",
"name": "[parameters('clusterName')]",
"location": "[parameters('location')]",
"identity": {
"type": "SystemAssigned"
},
"properties": {
"dnsPrefix": "[parameters('dnsPrefix')]",
"agentPoolProfiles": [
{
"name": "agentpool",
"osDiskSizeGB": "[parameters('osDiskSizeGB')]",
"count": "[parameters('agentCount')]",
"vmSize": "[parameters('agentVMSize')]",
"osType": "Linux",
"osSKU": "AzureContainerLinux",
"mode": "System"
}
],
"linuxProfile": {
"adminUsername": "[parameters('linuxAdminUsername')]",
"ssh": {
"publicKeys": [
{
"keyData": "[parameters('sshRSAPublicKey')]"
}
]
}
}
}
}
],
"outputs": {
"controlPlaneFQDN": {
"type": "string",
"value": "[reference(resourceId('Microsoft.ContainerService/managedClusters', parameters('clusterName')), '2024-02-01').fqdn]"
}
}
}
ARM テンプレートで定義されているリソースの種類は Microsoft.ContainerService/managedClusters です。
テンプレートをデプロイする
[Azure にデプロイ]を選択してサインインし、テンプレートを開きます。
基本 ページで、 OS ディスク サイズ GB、 エージェント数、 エージェント VM サイズ、 OS のタイプを既定値のままにして、次のテンプレート パラメータを構成します:
- サブスクリプション:Azure サブスクリプションを選択します。
- [リソース グループ] : [新規作成] を選択します。 リソース グループの一意の名前 ( myACLResourceGroup など) を入力し、[ OK] を選択します。
- OS SKU: AzureContainerLinux を指定します。
- 場所: 米国西部などの場所を選択します。
- クラスター名: aKS クラスターの一意の名前 ( myACLCluster など) を入力します。
- DNS プレフィックス: myaclcluster など、クラスターの一意の DNS プレフィックスを入力します。
- [Linux Admin Username](Linux 管理者ユーザー名) : SSH を使用して接続するためのユーザー名 (azureuser など) を入力します。
- SSH 公開キー ソース: [既存の公開キー 使用] を選択します。
- キー ペア名: SSH キー ペアの パブリック パーツ (既定では、~/.ssh/id_rsa.pub の内容) をコピーして貼り付けます。
[確認および作成]>[作成] の順に選択します。
AKS クラスターの作成には数分かかります。 クラスターに接続する前に、デプロイが完了 するまで待ちます。
クラスターに接続する
Kubernetes クラスターを管理するには、Kubernetes のコマンドライン クライアントである kubectl を使います。 Azure Cloud Shell を使用している場合、kubectl は既にインストールされています。
kubectl をローカルにインストールするには、az aks install-cli コマンドを使用します。
kubectlコマンドを使用して、Kubernetes クラスターに接続するようにaz aks get-credentialsを構成します。 このコマンドは、資格情報をダウンロードし、それを使用するように Kubernetes CLI を構成します。az aks get-credentials --resource-group myACLResourceGroup --name myACLClusterkubectl getコマンドを使用して、ご利用のクラスターへの接続を確認します。 このコマンドでは、クラスター ノードの一覧が返されます。kubectl get nodes次の出力例は、前の手順で作成された 3 つのノードを示しています。 ノードの状態が "準備完了" であることを確認します。
NAME STATUS ROLES AGE VERSION aks-agentpool-12345678-0 Ready agent 6m44s v1.34.0 aks-agentpool-12345678-1 Ready agent 6m46s v1.34.0 aks-agentpool-12345678-2 Ready agent 6m45s v1.34.0
クラスターを削除する
このクイック スタートで作成したリソースが不要になった場合は、Azure料金を回避するためにクリーンアップできます。
az group delete コマンドを使用して、Azure リソース グループとすべての関連リソースを削除します。
az group delete --name myACLResourceGroup --yes --no-wait
関連するコンテンツ
このクイック スタートでは、ARM テンプレートを使用して Azure Container Linux (ACL) AKS クラスターをデプロイしました。 ACL の詳細については、次のリソースを参照してください。