演習 - Azure Kubernetes Service クラスターを作成する

完了

この演習では、このサービスを使用する多くの顧客の需要を満たすために、複数のノードを使用する AKS クラスターを作成します。 ワークロード リソースを作成および管理するための最適な方法が提供されるため、"単一のコントロール プレーンと複数のノード" のアーキテクチャを使用することにします。

AKS では、ポータルまたは Azure CLI を介して Linux と Windows の両方のノード プールがサポートされていますが、Windows ノード プールを使用する場合は、追加の前提条件とコマンドによってクラスターを作成する必要があります。 追加するノード プールの種類に基づいて、OS を選択します。

重要

この演習を行うには、独自の Azure サブスクリプションが必要です。また、料金が発生することがあります。 Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。

  1. リソースをデプロイするアカウントで Azure Cloud Shell にサインインします。

    重要

    すべてのスクリプトを Bash で実行します。そのため、まだ Cloud Shell を作成していない場合は、実行中のシェルとして Bash を選択してください。

  2. 演習全体で再利用する構成値の変数を作成します。

    export RESOURCE_GROUP=rg-contoso-video
    export CLUSTER_NAME=aks-contoso-video
    export LOCATION=eastus
    

    LOCATION 変数を自分に最も近いリージョンに更新します。 この例では、eastus を使います。

  3. az group create コマンドを実行して、リソース グループを作成します。 この新しいリソース グループにすべてのリソースをデプロイします。

    az group create --name=$RESOURCE_GROUP --location=$LOCATION
    
  4. az aks create コマンドを実行して、AKS クラスターを作成します。

    az aks create \
        --resource-group $RESOURCE_GROUP \
        --name $CLUSTER_NAME \
        --node-count 2 \
        --generate-ssh-keys \
        --node-vm-size Standard_B2s \
        --network-plugin azure
    

    このコマンドにより、rg-contoso-video リソース グループ内に aks-contoso-video という名前の新しい AKS クラスターが作成されます。 このクラスターには、--node-count パラメーターを使用して定義したノードが 2 つあります。 この演習では、コストを考慮して 2 つのノードのみを使用しています。 --node-vm-size パラメーターを使用すると、クラスター ノードが Standard_B2s サイズの VM として構成されます。 これらのノードは、システム モードの一部です。

    重要

    ノード プールを作成するには Standard B2s VM が必要ですが、Free レベルのサブスクリプションでは使用できません。 制限を受けている場合は、Standard アップグレードにアップグレードする必要があります。

  5. az aks nodepool add コマンドを実行し、既定の Linux オペレーティング システムを使用する別のノード プールを追加します。

    az aks nodepool add \
        --resource-group $RESOURCE_GROUP \
        --cluster-name $CLUSTER_NAME \
        --name userpool \
        --node-count 2 \
        --node-vm-size Standard_B2s
    

    このコマンドにより、(前のコマンドで作成した) 既存の AKS クラスターに新しいノード プール (ユーザー モード) が追加されます。 この新しいノード プールは、システム ノード プールとは異なり、アプリケーションとワークロードをホストするために使われます。

  1. Cloud Shell で次のコマンドを実行し、kubectl で Kubernetes クラスターをリンクします。

    az aks get-credentials --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP
    

    このコマンドにより、クラスターにアクセスするためのすべての情報を保持する ~/.kube/config ファイルにエントリが追加されます。 kubectl を使用すると、単一のコマンドライン インターフェイスから複数のクラスターを管理できます。

  2. kubectl get nodes コマンドを実行して、クラスターに接続できることを確認し、その構成を確かめます。

    kubectl get nodes
    

    出力には、2 つのノード プールで使用可能な 4 つのノードが一覧表示されます。

NAME                                STATUS   ROLES   AGE    VERSION
aks-nodepool1-21895026-vmss000000   Ready    agent   245s   v1.23.12
aks-nodepool1-21895026-vmss000001   Ready    agent   245s   v1.23.12
aks-userpool-21895026-vmss000000    Ready    agent   105s   v1.23.12
aks-userpool-21895026-vmss000001    Ready    agent   105s   v1.23.12