チュートリアル:Azure Kubernetes Service (AKS) でのアプリケーションの実行Tutorial: Run applications in Azure Kubernetes Service (AKS)

Kubernetes には、コンテナー化されたアプリケーション用の分散プラットフォームが用意されています。Kubernetes provides a distributed platform for containerized applications. 独自のアプリケーションとサービスをビルドして Kubernetes クラスターにデプロイし、クラスターで可用性と接続性を管理できるようにします。You build and deploy your own applications and services into a Kubernetes cluster, and let the cluster manage the availability and connectivity. このチュートリアル (4/7) では、サンプル アプリケーションを Kubernetes クラスターにデプロイします。In this tutorial, part four of seven, a sample application is deployed into a Kubernetes cluster. 学習内容は次のとおりです。You learn how to:

  • Kubernetes マニフェスト ファイルを更新するUpdate a Kubernetes manifest file
  • Kubernetes でアプリケーションを実行するRun an application in Kubernetes
  • アプリケーションをテストするTest the application

追加のチュートリアルでは、このアプリケーションがスケールアウトされて更新されます。In additional tutorials, this application is scaled out and updated.

このクイックスタートは、Kubernetes の基本的な概念を理解していることを前提としています。This quickstart assumes a basic understanding of Kubernetes concepts. 詳細については、「Azure Kubernetes Services (AKS) における Kubernetes の中心概念」を参照してください。For more information, see Kubernetes core concepts for Azure Kubernetes Service (AKS).

開始する前にBefore you begin

前のチュートリアルでは、アプリケーションをコンテナー イメージにパッケージ化し、このイメージを Azure Container Registry にアップロードして、Kubernetes クラスターを作成しました。In previous tutorials, an application was packaged into a container image, this image was uploaded to Azure Container Registry, and a Kubernetes cluster was created.

このチュートリアルを完了するには、事前に作成した azure-vote-all-in-one-redis.yaml Kubernetes マニフェスト ファイルが必要です。To complete this tutorial, you need the pre-created azure-vote-all-in-one-redis.yaml Kubernetes manifest file. このファイルは、前のチュートリアルでは、アプリケーションのソース コードと共にダウンロードされました。This file was downloaded with the application source code in a previous tutorial. リポジトリの複製が作成されていること、およびディレクトリが複製されたディレクトリに変更されていることを確認します。Verify that you've cloned the repo, and that you have changed directories into the cloned repo. これらの手順を完了しておらず、順番に進めたい場合は、チュートリアル 1 - コンテナー イメージを作成するに関するページから開始してください。If you haven't done these steps, and would like to follow along, start with 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.

マニフェスト ファイルを更新するUpdate the manifest file

これらのチュートリアルでは、Azure Container Registry (ACR) インスタンスがサンプル アプリケーション用のコンテナー イメージを格納しています。In these tutorials, an Azure Container Registry (ACR) instance stores the container image for the sample application. アプリケーションをデプロイするには、Kubernetes マニフェスト ファイル内のイメージ名を、ACR ログイン サーバー名が含まれるように更新する必要があります。To deploy the application, you must update the image name in the Kubernetes manifest file to include the ACR login server name.

次のように、az acr list コマンドを使用して、ACR ログイン サーバー名を取得します。Get the ACR login server name using the az acr list command as follows:

az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table

最初のチュートリアルで複製した git repo のサンプル マニフェスト ファイルは、microsoft というログイン サーバー名を使用します。The sample manifest file from the git repo cloned in the first tutorial uses the login server name of microsoft. 現在の場所が、複製された azure-voting-app-redis ディレクトリ内であることを確認し、テキスト エディター (vi など) でマニフェスト ファイルを開きます。Make sure that you're in the cloned azure-voting-app-redis directory, then open the manifest file with a text editor, such as vi:

vi azure-vote-all-in-one-redis.yaml

microsoft は、実際の ACR ログイン サーバー名に置き換えてください。Replace microsoft with your ACR login server name. イメージ名は、マニフェスト ファイルの 51 行目にあります。The image name is found on line 51 of the manifest file. 次の例は、既定のイメージ名を示しています。The following example shows the default image name:

containers:
- name: azure-vote-front
  image: microsoft/azure-vote-front:v1

マニフェスト ファイルが次の例のようになるように、独自の ACR ログイン サーバー名を指定します。Provide your own ACR login server name so that your manifest file looks like the following example:

containers:
- name: azure-vote-front
  image: <acrName>.azurecr.io/azure-vote-front:v1

ファイルを保存して閉じます。Save and close the file. vi では、:wq を使用します。In vi, use :wq.

アプリケーションのデプロイDeploy the application

ご利用になるアプリケーションをデプロイするには、kubectl apply コマンドを使用します。To deploy your application, use the kubectl apply command. このコマンドは、マニフェスト ファイルを解析し、定義されている Kubernetes オブジェクトを作成します。This command parses the manifest file and creates the defined Kubernetes objects. 次の例に示すように、サンプルのマニフェスト ファイルを指定します。Specify the sample manifest file, as shown in the following example:

kubectl apply -f azure-vote-all-in-one-redis.yaml

次の出力例では、AKS クラスター内で正常に作成されたリソースが示されています。The following example output shows the resources successfully created in the AKS cluster:

$ kubectl apply -f azure-vote-all-in-one-redis.yaml

deployment "azure-vote-back" created
service "azure-vote-back" created
deployment "azure-vote-front" created
service "azure-vote-front" created

アプリケーションをテストするTest the application

アプリケーションが実行されると、Kubernetes サービスによってアプリケーション フロント エンドがインターネットに公開されます。When the application runs, a Kubernetes service exposes the application front end to the internet. このプロセスが完了するまでに数分かかることがあります。This process can take a few minutes to complete.

進行状況を監視するには、kubectl get service コマンドを --watch 引数と一緒に使用します。To monitor progress, use the kubectl get service command with the --watch argument.

kubectl get service azure-vote-front --watch

最初に、azure-vote-front サービスの EXTERNAL-IP が "保留中" として表示されます。Initially the EXTERNAL-IP for the azure-vote-front service is shown as pending:

azure-vote-front   LoadBalancer   10.0.34.242   <pending>     80:30676/TCP   5s

EXTERNAL-IP アドレスが "保留中" から実際のパブリック IP アドレスに変わったら、CTRL-C を使用して kubectl ウォッチ プロセスを停止します。When the EXTERNAL-IP address changes from pending to an actual public IP address, use CTRL-C to stop the kubectl watch process. 次の出力例は、サービスに割り当てられている有効なパブリック IP アドレスを示しています。The following example output shows a valid public IP address assigned to the service:

azure-vote-front   LoadBalancer   10.0.34.242   52.179.23.131   80:30676/TCP   67s

アプリケーションが動作していることを確認するには、Web ブラウザーを開いてサービスの外部 IP アドレスにアクセスします。To see the application in action, open a web browser to the external IP address of your service:

Azure 上の Kubernetes クラスターの図

アプリケーションが読み込まれなかった場合、イメージ レジストリに関する承認の問題が原因になっている可能性があります。If the application didn't load, it might be due to an authorization problem with your image registry. コンテナーのステータスを表示するには、kubectl get pods コマンドを使用します。To view the status of your containers, use the kubectl get pods command. コンテナー イメージをプルできない場合は、Kubernetes シークレットによる Container Registry へのアクセスの許可に関するページを参照してください。If the container images can't be pulled, see allow access to Container Registry with a Kubernetes secret.

次の手順Next steps

このチュートリアルでは、サンプルの Azure vote アプリケーションを AKS の Kubernetes クラスターにデプロイしました。In this tutorial, a sample Azure vote application was deployed to a Kubernetes cluster in AKS. 以下の方法について学習しました。You learned how to:

  • Kubernetes マニフェスト ファイルを更新するUpdate a Kubernetes manifest files
  • Kubernetes でアプリケーションを実行するRun an application in Kubernetes
  • アプリケーションをテストするTest the application

次のチュートリアルに進んで、Kubernetes アプリケーションとその基になっている Kubernetes インフラストラクチャのスケーリング方法に関して学習してください。Advance to the next tutorial to learn how to scale a Kubernetes application and the underlying Kubernetes infrastructure.