Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
146 lines (102 sloc) 9.29 KB
title description services author ms.service ms.topic ms.date ms.author ms.custom ms.openlocfilehash ms.sourcegitcommit ms.translationtype ms.contentlocale ms.lasthandoff ms.locfileid
Kubernetes on Azure のチュートリアル - アプリケーションのデプロイ
この Azure Kubernetes Service (AKS) チュートリアルでは、Azure Container Registry に格納されているカスタム イメージを使用して、複数コンテナーのアプリケーションをクラスターにデプロイします。
container-service
mlearned
container-service
tutorial
12/19/2018
mlearned
mvc
cc01b12e493f3e0d3cd63786c27819d4704f97f4
b4665f444dcafccd74415fb6cc3d3b65746a1a31
HT
ja-JP
10/11/2019
72263876

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

Kubernetes には、コンテナー化されたアプリケーション用の分散プラットフォームが用意されています。 独自のアプリケーションとサービスをビルドして Kubernetes クラスターにデプロイし、クラスターで可用性と接続性を管理できるようにします。 このチュートリアル (4/7) では、サンプル アプリケーションを Kubernetes クラスターにデプロイします。 学習内容は次のとおりです。

[!div class="checklist"]

  • Kubernetes マニフェスト ファイルを更新する
  • Kubernetes でアプリケーションを実行する
  • アプリケーションをテストする

追加のチュートリアルでは、このアプリケーションがスケールアウトされて更新されます。

このクイックスタートは、Kubernetes の基本的な概念を理解していることを前提としています。 詳細については、「Azure Kubernetes Services (AKS) における Kubernetes の中心概念」を参照してください。

開始する前に

前のチュートリアルでは、アプリケーションをコンテナー イメージにパッケージ化し、このイメージを Azure Container Registry にアップロードして、Kubernetes クラスターを作成しました。

このチュートリアルを完了するには、事前に作成した azure-vote-all-in-one-redis.yaml Kubernetes マニフェスト ファイルが必要です。 このファイルは、前のチュートリアルでは、アプリケーションのソース コードと共にダウンロードされました。 リポジトリの複製が作成されていること、およびディレクトリが複製されたディレクトリに変更されていることを確認します。 これらの手順を完了しておらず、順番に進めたい場合は、チュートリアル 1 - コンテナー イメージを作成するに関するページから開始してください。

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

マニフェスト ファイルを更新する

これらのチュートリアルでは、Azure Container Registry (ACR) インスタンスがサンプル アプリケーション用のコンテナー イメージを格納しています。 アプリケーションをデプロイするには、Kubernetes マニフェスト ファイル内のイメージ名を、ACR ログイン サーバー名が含まれるように更新する必要があります。

次のように、az acr list コマンドを使用して、ACR ログイン サーバー名を取得します。

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

最初のチュートリアルで複製した git repo のサンプル マニフェスト ファイルは、microsoft というログイン サーバー名を使用します。 現在の場所が、複製された azure-voting-app-redis ディレクトリ内であることを確認し、テキスト エディター (vi など) でマニフェスト ファイルを開きます。

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

microsoft は、実際の ACR ログイン サーバー名に置き換えてください。 イメージ名は、マニフェスト ファイルの 51 行目にあります。 次の例は、既定のイメージ名を示しています。

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

マニフェスト ファイルが次の例のようになるように、独自の ACR ログイン サーバー名を指定します。

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

ファイルを保存して閉じます。 vi では、:wq を使用します。

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

ご利用になるアプリケーションをデプロイするには、kubectl apply コマンドを使用します。 このコマンドは、マニフェスト ファイルを解析し、定義されている Kubernetes オブジェクトを作成します。 次の例に示すように、サンプルのマニフェスト ファイルを指定します。

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

次の出力例では、AKS クラスター内で正常に作成されたリソースが示されています。

$ 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

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

アプリケーションが実行されると、Kubernetes サービスによってアプリケーション フロント エンドがインターネットに公開されます。 このプロセスが完了するまでに数分かかることがあります。

進行状況を監視するには、kubectl get service コマンドを --watch 引数と一緒に使用します。

kubectl get service azure-vote-front --watch

最初に、azure-vote-front サービスの EXTERNAL-IP が "保留中" として表示されます。

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

EXTERNAL-IP アドレスが "保留中" から実際のパブリック IP アドレスに変わったら、CTRL-C を使用して kubectl ウォッチ プロセスを停止します。 次の出力例は、サービスに割り当てられている有効なパブリック IP アドレスを示しています。

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

アプリケーションが動作していることを確認するには、Web ブラウザーを開いてサービスの外部 IP アドレスにアクセスします。

Azure 上の Kubernetes クラスターの図

アプリケーションが読み込まれなかった場合、イメージ レジストリに関する承認の問題が原因になっている可能性があります。 コンテナーのステータスを表示するには、kubectl get pods コマンドを使用します。 コンテナー イメージがプルできない場合は、「Azure Kubernetes Service から Azure Container Registry の認証を受ける」を参照してください。

次の手順

このチュートリアルでは、サンプルの Azure vote アプリケーションを AKS の Kubernetes クラスターにデプロイしました。 以下の方法について学習しました。

[!div class="checklist"]

  • Kubernetes マニフェスト ファイルを更新する
  • Kubernetes でアプリケーションを実行する
  • アプリケーションをテストする

次のチュートリアルに進んで、Kubernetes アプリケーションとその基になっている Kubernetes インフラストラクチャのスケーリング方法に関して学習してください。

[!div class="nextstepaction"] Kubernetes ポッドと Kubernetes インフラストラクチャをスケーリングする

You can’t perform that action at this time.