次の方法で共有


チュートリアル - Azure Kubernetes Service (AKS) クラスターの作成

Kubernetes には、コンテナー化されたアプリケーション用の分散プラットフォームが用意されています。 Azure Kubernetes Service (AKS) を使用すると、運用環境に対応した Kubernetes クラスターを迅速に作成できます。

このチュートリアルでは、AKS に Kubernetes クラスターをデプロイします。 以下の方法について説明します。

  • Azure Container Registry (ACR) に対して認証できる AKS クラスターをデプロイします。
  • Kubernetes CLI、kubectl をインストールします。
  • kubectl を構成して AKS クラスターに接続します。

開始する前に

前のチュートリアルでは、コンテナー イメージを作成し、それを ACR インスタンスにアップロードしました。 「チュートリアル 1 - AKS のアプリケーションを準備する」から始めてください。

  • Azure CLI を使用している場合、このチュートリアルでは、Azure CLI バージョン 2.35.0 以降を実行している必要があります。 az --version を使用して、お使いのバージョンを確認します。 インストールまたはアップグレードする必要には、「Azure CLI のインストール」をご覧ください。
  • Azure PowerShell を使用する場合、このチュートリアルでは、Azure PowerShell バージョン 5.9.0 以降を実行する必要があります。 Get-InstalledModule -Name Az を使用して、お使いのバージョンを確認します。 インストールまたはアップグレードするには、「Azure PowerShell のインストール」に関するページを参照してください。
  • Azure Developer CLI を使用している場合、このチュートリアルでは、Azure Developer CLI バージョン 1.5.1 以降を実行している必要があります。 azd version を使用して、お使いのバージョンを確認します。 インストールまたはアップグレードするには、「Azure Developer CLI のインストール」をご覧ください。

Kubernetes クラスターを作成する

AKS クラスターでは、Kubernetes のロールベースのアクセス制御 (Kubernetes RBAC) を使用できます。これにより、ユーザーに割り当てられたロールに基づいてリソースへのアクセスを定義できます。 ユーザーに複数のロールが割り当てられている場合、アクセス許可が組み合わされます。 アクセス許可のスコープは、1 つの名前空間またはクラスター全体に設定できます。

AKS と Kubernetes RBAC の詳細については、AKS での Kubernetes RBAC と Microsoft Entra ID を使ったクラスター リソースへのアクセス制御に関する記事を参照してください。

このチュートリアルでは、Azure CLI バージョン 2.35.0 以降が必要です。 az --version を使用して、お使いのバージョンを確認します。 インストールまたはアップグレードする必要には、「Azure CLI のインストール」をご覧ください。 Azure Cloud Shell の Bash 環境を使用している場合は、最新バージョンが既にインストールされています。

Kubernetes CLI のインストール

Kubernetes クラスターに接続するには Kubernetes CLI kubectl を使用します。 Azure Cloud Shell を使用している場合、kubectl は既にインストールされています。 コマンドをローカルで実行している場合は、Azure CLI または Azure PowerShell を使用して kubectl をインストールできます。

  • kubectl コマンドを使用して az aks install-cli をローカルにインストールします。

    az aks install-cli
    

AKS クラスターを作成する

AKS クラスターでは、Kubernetes のロールベースのアクセス制御 (Kubernetes RBAC) を使用できます。これにより、ユーザーに割り当てられたロールに基づいてリソースへのアクセスを定義できます。 ユーザーに複数のロールが割り当てられている場合は、アクセス許可が組み合わされます。 アクセス許可のスコープは、1 つの名前空間またはクラスター全体に設定できます。 詳細については、「Kubernetes RBAC と AKS の Microsoft Entra ID を使用してクラスター リソースへのアクセスを制御する」を参照してください。

AKS のリソース制限と利用可能なリージョンについて詳しくは、AKS でのクォータ、仮想マシンのサイズ制限、利用可能なリージョンに関する記事を参照してください。

Important

このチュートリアルでは、3 ノード クラスターを作成します。 クラスターを確実に動作させるために、少なくとも 2 つのノードを実行する必要があります。 Azure Container Storage を使用するには、少なくとも 3 つのノードが必要です。 クラスターを作成しようとしたときにエラー メッセージが表示される場合は、Azure サブスクリプションのクォータの引き上げを要求するか、別の Azure リージョンを試す必要があります。 または、ノード VM サイズ パラメーターを省略して、既定の VM サイズを使用することもできます。

AKS クラスターが他の Azure リソースとやりとりできるようにするために、Azure プラットフォームによりクラスター ID が自動的に作成されます。 この例では、クラスター ID に、前のチュートリアルで作成した ACR インスタンスからイメージをプルする権利が付与されます。 コマンドを正常に実行するには、Azure サブスクリプションに 所有者 または Azure アカウント管理者 ロールが必要です。

  • az aks create コマンドを使用して、AKS クラスターを作成します。 次の例では、myResourceGroup という名前のリソース グループに myAKSCluster という名前のクラスターを作成します。 このリソース グループは、westus2 リージョンの前のチュートリアルで作成されました。 $ACRNAMEで設定した環境変数 () を引き続き使用します。 この環境変数を設定していない場合は、以前に使用したのと同じ値に設定します。

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --node-count 3 \
        --node-vm-size standard_l8s_v3 \
        --generate-ssh-keys \
        --attach-acr $ACRNAME
    

    Note

    SSH キーを既に生成している場合は、 linuxProfile.ssh.publicKeys.keyData is invalidのようなエラーが発生する可能性があります。 続行するには、--generate-ssh-keys パラメーターを指定せずにコマンドを再試行します。

所有者または Azure アカウント管理者ロールを不要にするために、ACR からイメージをプルするようにサービス プリンシパルを手動で構成することもできます。 詳細については、サービス プリンシパルによる ACR 認証またはプル シークレットを使用した Kubernetes からの認証に関するページを参照してください。 管理しやすくするために、サービス プリンシパルの代わりにマネージド ID を使用することもできます。

kubectl を使用したクラスターへの接続

  1. kubectl コマンドを使用して、Kubernetes クラスターに接続するように az aks get-credentials を構成します。 次の例では、myResourceGroupmyAKSCluster という名前の AKS クラスターの資格情報を取得します。

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    
  2. クラスターへの接続を確認する場合は、クラスター ノードのリストを返す kubectl get nodes コマンドを使用します。

    kubectl get nodes
    

    次の出力例は、クラスター ノードの一覧を示しています。

    NAME                                STATUS   ROLES   AGE   VERSION
    aks-nodepool1-19366578-vmss000000   Ready    agent   47h   v1.30.9
    aks-nodepool1-19366578-vmss000001   Ready    agent   47h   v1.30.9
    aks-nodepool1-19366578-vmss000002   Ready    agent   47h   v1.30.9
    

次のステップ

このチュートリアルでは、Kubernetes クラスターを AKS にデプロイし、kubectl を構成してクラスターに接続しました。 以下の方法を学習しました。

  • ACR に対して認証できる AKS クラスターをデプロイします。
  • Kubernetes CLI、kubectl をインストールします。
  • kubectl を構成して AKS クラスターに接続します。

次のチュートリアルでは、クラスターに Azure Container Storage をデプロイし、汎用エフェメラル ボリュームを作成する方法について説明します。 Azure Developer CLI を使用している場合、またはクォータの問題が原因でストレージ最適化 VM の種類を使用できなかった場合は、 コンテナー化されたアプリケーションのデプロイ に関するチュートリアルに直接進んでください。