チュートリアル:Azure Kubernetes Service (AKS) クラスターのデプロイ

Kubernetes には、コンテナー化されたアプリケーション用の分散プラットフォームが用意されています。 AKS を使うと、運用開始準備の整った Kubernetes クラスターを迅速に作成できます。 このチュートリアル (7 部構成の第 3 部) では、Kubernetes クラスターを AKS にデプロイします。 学習内容は次のとおりです。

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

後続のチュートリアルでは、Azure 投票アプリケーションをクラスターにデプロイし、スケーリングして更新します。

開始する前に

これまでのチュートリアルでは、コンテナー イメージを作成して、Azure Container Registry インスタンスにアップロードしました。 これらの手順を完了しておらず、順番に進めたい場合は、チュートリアル 1 - コンテナー イメージを作成するに関するページから開始してください。

このチュートリアルでは、Azure CLI バージョン 2.0.53 以降を実行している必要があります。 バージョンを確認するには、az --version を実行します。 インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。

Kubernetes クラスターを作成する

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

az aks create を使用して AKS クラスターを作成します。 次の例では、myResourceGroup という名前のリソース グループに myAKSCluster という名前のクラスターを作成します。 このリソース グループは、前のチュートリアルで作成しました ("米国東部" リージョン)。 次の例ではリージョンが指定されず、AKS クラスターも "米国東部" リージョンで作成されます。 AKS のリソース制限と利用可能なリージョンの詳細については、「Azure Kubernetes Service (AKS) のクォータ、仮想マシンのサイズの制限、利用可能なリージョン」をご覧ください。

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

az aks create \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --node-count 2 \
    --generate-ssh-keys \
    --attach-acr <acrName>

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

数分してデプロイが完了すると、この AKS デプロイに関する情報が JSON 形式で表示されます。

注意

クラスターが確実に動作するようにするには、少なくとも 2 つのノードを実行する必要があります。

Kubernetes CLI のインストール

お使いのローカル コンピューターから Kubernetes クラスターに接続するには、kubectl (Kubernetes コマンドライン クライアント) を使用します。

Azure Cloud Shell を使用している場合、kubectl は既にインストールされています。 az aks install-cli コマンドを使用してローカルにインストールすることもできます。

az aks install-cli

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

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

az aks get-credentials --resource-group myResourceGroup --name myAKSCluster

クラスターへの接続を確認するには、クラスター ノードの一覧を返す kubectl get nodes コマンドを実行します。

kubectl get nodes

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

$ kubectl get nodes

NAME                                STATUS   ROLES   AGE     VERSION
aks-nodepool1-37463671-vmss000000   Ready    agent   2m37s   v1.18.10
aks-nodepool1-37463671-vmss000001   Ready    agent   2m28s   v1.18.10

次のステップ

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

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

次のチュートリアルに進み、アプリケーションをクラスターにデプロイする方法を学習してください。