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

Kubernetes には、コンテナー化されたアプリケーション用の分散プラットフォームが用意されています。Kubernetes provides a distributed platform for containerized applications. AKS を使うと、運用開始準備の整った Kubernetes クラスターを迅速に作成できます。With AKS, you can quickly create a production ready Kubernetes cluster. このチュートリアル (7 部構成の第 3 部) では、Kubernetes クラスターを AKS にデプロイします。In this tutorial, part three of seven, a Kubernetes cluster is deployed in AKS. 学習内容は次のとおりです。You learn how to:

  • Azure Container Registry に対して認証できる Kubernetes AKS クラスターをデプロイするDeploy a Kubernetes AKS cluster that can authenticate to an Azure container registry
  • Kubernetes CLI (kubectl) をインストールするInstall the Kubernetes CLI (kubectl)
  • kubectl を構成して AKS クラスターに接続するConfigure kubectl to connect to your AKS cluster

追加のチュートリアルでは、Azure Vote アプリケーションをクラスターにデプロイし、スケーリングおよび更新します。In additional tutorials, the Azure Vote application is deployed to the cluster, scaled, and updated.

開始する前にBefore you begin

これまでのチュートリアルでは、コンテナー イメージを作成して、Azure Container Registry インスタンスにアップロードしました。In previous tutorials, a container image was created and uploaded to an Azure Container Registry instance. これらの手順を完了しておらず、順番に進めたい場合は、チュートリアル 1 - コンテナー イメージを作成するに関するページから開始してください。If you haven't done these steps, and would like to follow along, start at Tutorial 1 – Create container images.

このチュートリアルでは、Azure CLI バージョン 2.0.53 以降を実行している必要があります。This tutorial requires that you're running the Azure CLI version 2.0.53 or later. バージョンを確認するには、az --version を実行します。Run az --version to find the version. インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。If you need to install or upgrade, see Install Azure CLI.

Kubernetes クラスターを作成するCreate a Kubernetes cluster

AKS クラスターでは、Kubernetes のロールベースのアクセス制御 (RBAC) を使用できます。AKS clusters can use Kubernetes role-based access controls (RBAC). これらのコントロールを使用すると、ユーザーに割り当てられているロールに基づいてリソースへのアクセスを定義できます。These controls let you define access to resources based on roles assigned to users. ユーザーに複数のロールが割り当てられている場合は、アクセス許可が組み合わされます。また、アクセス許可のスコープを 1 つの名前空間またはクラスター全体に設定できます。Permissions are combined if a user is assigned multiple roles, and permissions can be scoped to either a single namespace or across the whole cluster. Azure CLI の既定では、AKS クラスターを作成するときに RBAC が自動的に有効になります。By default, the Azure CLI automatically enables RBAC when you create an AKS cluster.

az aks create を使用して AKS クラスターを作成します。Create an AKS cluster using az aks create. 次の例では、myResourceGroup という名前のリソース グループに myAKSCluster という名前のクラスターを作成します。The following example creates a cluster named myAKSCluster in the resource group named myResourceGroup. このリソース グループは、前のチュートリアルで作成しました。This resource group was created in the previous tutorial. AKS クラスターが他の Azure リソースと対話できるようにするために、Azure Active Directory のサービス プリンシパルが自動的に作成されます (指定しなかったため)。To allow an AKS cluster to interact with other Azure resources, an Azure Active Directory service principal is automatically created, since you did not specify one. この場合、このサービス プリンシパルは、前のチュートリアルで作成した Azure Container Registry (ACR) インスタンスからイメージをプルする権利を付与されます。Here, this service principal is granted the right to pull images from the Azure Container Registry (ACR) instance you created in the previous tutorial. 管理しやすくするために、サービス プリンシパルの代わりにマネージド ID を使用することもできることに注意してください。Note that you can use a managed identity instead of a service principal for easier management.

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

ACR からイメージをプルするようにサービス プリンシパルを手動で構成することもできます。You can also manually configure a service principal to pull images from ACR. 詳細については、サービス プリンシパルによる ACR 認証またはプル シークレットを使用した Kubernetes からの認証に関するページを参照してください。For more information, see ACR authentication with service principals or Authenticate from Kubernetes with a pull secret.

数分してデプロイが完了すると、この AKS デプロイに関する情報が JSON 形式で表示されます。After a few minutes, the deployment completes, and returns JSON-formatted information about the AKS deployment.

注意

クラスターが確実に動作するようにするには、少なくとも 2 つのノードを実行する必要があります。To ensure your cluster to operate reliably, you should run at least 2 (two) nodes.

Kubernetes CLI のインストールInstall the Kubernetes CLI

お使いのローカル コンピューターから Kubernetes クラスターに接続するには、kubectl (Kubernetes コマンドライン クライアント) を使用します。To connect to the Kubernetes cluster from your local computer, you use kubectl, the Kubernetes command-line client.

Azure Cloud Shell を使用している場合、kubectl は既にインストールされています。If you use the Azure Cloud Shell, kubectl is already installed. az aks install-cli コマンドを使用してローカルにインストールすることもできます。You can also install it locally using the az aks install-cli command:

az aks install-cli

kubectl を使用したクラスターへの接続Connect to cluster using kubectl

Kubernetes クラスターに接続するように kubectl を構成するには、az aks get-credentials コマンドを使用します。To configure kubectl to connect to your Kubernetes cluster, use the az aks get-credentials command. 次の例では、myResourceGroupmyAKSCluster という名前の AKS クラスターの資格情報を取得します。The following example gets credentials for the AKS cluster named myAKSCluster in the myResourceGroup:

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

クラスターへの接続を確認するには、クラスター ノードの一覧を返す kubectl get nodes コマンドを実行します。To verify the connection to your cluster, run the kubectl get nodes command to return a list of the cluster nodes:

$ kubectl get nodes

NAME                       STATUS   ROLES   AGE   VERSION
aks-nodepool1-12345678-0   Ready    agent   32m   v1.14.8

次のステップNext steps

このチュートリアルでは、Kubernetes クラスターを AKS にデプロイし、kubectl を構成してクラスターに接続しました。In this tutorial, a Kubernetes cluster was deployed in AKS, and you configured kubectl to connect to it. 以下の方法を学習しました。You learned how to:

  • Azure Container Registry に対して認証できる Kubernetes AKS クラスターをデプロイするDeploy a Kubernetes AKS cluster that can authenticate to an Azure container registry
  • Kubernetes CLI (kubectl) をインストールするInstall the Kubernetes CLI (kubectl)
  • kubectl を構成して AKS クラスターに接続するConfigure kubectl to connect to your AKS cluster

次のチュートリアルに進み、アプリケーションをクラスターにデプロイする方法を学習してください。Advance to the next tutorial to learn how to deploy an application to the cluster.