チュートリアル:Azure Kubernetes Service (AKS) クラスターのデプロイ
Kubernetes には、コンテナー化されたアプリケーション用の分散プラットフォームが用意されています。 AKS を使うと、運用開始準備の整った Kubernetes クラスターを迅速に作成できます。 このチュートリアル (7 部構成の第 3 部) では、Kubernetes クラスターを AKS にデプロイします。 学習内容は次のとおりです。
- Azure Container Registry (ACR) に対して認証できる Kubernetes AKS クラスターをデプロイします。
- Kubernetes CLI、
kubectl
をインストールします。kubectl
を構成して AKS クラスターに接続します。
以降のチュートリアルでは、Azure 投票アプリケーションを AKS クラスターにデプロイし、アプリケーションのスケーリングと更新を行います。
開始する前に
前のチュートリアルでは、コンテナー イメージを作成し、それを ACR インスタンスにアップロードしました。 これらの手順を完了しておらず、順番に進めたい場合は、チュートリアル 1 - AKS 用のアプリケーションの準備に関する記事から始めてください。
- Azure CLI を使用する場合、このチュートリアルでは、Azure CLI バージョン 2.0.53 以降を実行する必要があります。 バージョンを確認するには、
az --version
を実行します。 インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。 - Azure PowerShell を使用する場合、このチュートリアルでは、Azure PowerShell バージョン 5.9.0 以降を実行する必要があります。 バージョンを確認するには、
Get-InstalledModule -Name Az
を実行します。 インストールまたはアップグレードする必要がある場合は、Azure PowerShell のインストールに関するページをご覧ください。
Kubernetes クラスターを作成する
AKS クラスターでは、Kubernetes のロールベースのアクセス制御 (Kubernetes RBAC) を使用できます。これにより、ユーザーに割り当てられたロールに基づいてリソースへのアクセスを定義できます。 ユーザーに複数のロールが割り当てられている場合、アクセス許可が組み合わされます。 アクセス許可のスコープは、1 つの名前空間またはクラスター全体に設定できます。
AKS と Kubernetes RBAC について詳しくは、AKS での Kubernetes RBAC と Azure Active Directory ID を使用したクラスター リソースへのアクセス制御に関する記事を参照してください。
az aks create
を使用して AKS クラスターを作成します。 次の例では、myResourceGroup という名前のリソース グループに myAKSCluster という名前のクラスターを作成します。 このリソース グループは、前のチュートリアルで作成しました ("米国東部" リージョン)。 AKS クラスターも eastus リージョンに作成されます。
AKS のリソース制限と利用可能なリージョンについて詳しくは、AKS でのクォータ、仮想マシンのサイズ制限、利用可能なリージョンに関する記事を参照してください。
AKS クラスターが他の Azure リソースとやりとりできるようにするために、クラスター ID が自動的に作成されます。 この例では、クラスター ID に、前のチュートリアルで作成した 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 形式の情報が返されます。
Note
クラスターを確実に動作させるために、少なくとも 2 つのノードを実行する必要があります。
Kubernetes CLI のインストール
Kubernetes CLI、kubectl
を使用して、ローカル コンピューターから Kubernetes クラスターに接続します。
Azure Cloud Shell を使用している場合、kubectl
は既にインストールされています。 az aks install-cli
コマンドを使用してローカルにインストールすることもできます。
az aks install-cli
kubectl を使用したクラスターへの接続
Kubernetes クラスターに接続するように kubectl
を構成するには、az aks get-credentials
コマンドを使用します。 次の例では、myResourceGroup の myAKSCluster という名前の 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
を構成してクラスターに接続しました。 以下の方法を学習しました。
- ACR に対して認証できる AKS クラスターをデプロイします。
- Kubernetes CLI、
kubectl
をインストールします。 kubectl
を構成して AKS クラスターに接続します。
次のチュートリアルでは、アプリケーションをクラスターにデプロイする方法について学習します。