最近のアクセス:
Kubernetes クラスターを AKS にデプロイする方法

ここでは、Azure Kubernetes Service (AKS) クラスターにアプリケーションをデプロイする方法を示します。アプリケーションは、アプリケーション デプロイ ツールを使用して事前にコンテナイメージにパッケージ化します。
このチュートリアルの要件: Azure CLI
概要

Azure Container Registry の作成

最初に、Docker イメージを Azure Container Registry (ACR) にプッシュする必要があります。そのためには、Azure Portal で、または Azure CLI を使用して Azure リソースと Azure Container Registry (1) を作成します。
ACR インスタンスを使用するには、次のコマンドを使用してログインします。
$ az acr login --name <ACR 名>
資格情報の入力を求められます。この情報は、Azure Portal の ACR インスタンスの [ アクセス キー ] パネルで確認できます。
イメージ:46733.png

Docker イメージのタグ付け

ACR のログインサーバー情報を確認します。コンテナイメージのタグ付け (2) にはこの情報が必要です:
イメージ:46734.png
次に、ローカルの Docker イメージに、ACR のログイン サーバー アドレスのタグを付けます。次に例を示します:
docker tag sjuarez2020/test:1.0 testdockergx.azurecr.io/test:1.0
タグが適用されたことを確認するために、コマンドラインで docker images を実行します。
$ docker images

レジストリへの Docker イメージのプッシュ

この例では、コマンドは次のようになります:
$ docker push testdockergx.azurecr.io/test:1.0
場合によっては先にログインが必要です。
イメージ:46735.png
ここまでの手順に従っていれば、コンテナイメージが既に Azure Container Registry のプライベートインスタンスに保存されています。
イメージ:46736.png

AKS クラスターの作成

AKS クラスターは、コマンドラインを使用して作成できます:
$ az aks create --resource-group TestAzureapp --name testaksgx --node-count 2 --node-vm-size Standard_B2s --enable-managed-identity --attach-acr testdockergx --generate-ssh-keys

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

アプリケーションをデプロイするには、kubectl コマンドを使用します。
最初に AKS の資格情報を確認します。そのためにはログインが必要です:
$ az login
その後、次のコマンドを実行します:
$ az aks get-credentials --resource-group TestAzureapp --name testaksgx
Merged "testaksgx" as current context in C:\Users\sjuarez\.kube\config
これで、必要な設定を Kubernetes クラスターに適用できます。
すべてのメタデータファイルについて、次のコマンドを実行します:
$ kubectl apply -f .\K8s-DeploymentUnit1-App.yaml
service/deploymentunit1-svc created
重要: Kubernetes のメタデータはアプリケーション デプロイ ツールで生成します。詳細については、「Kubernetes クラスターにアプリケーションをデプロイする方法」を参照してください。この例では、デプロイ先がクラウドサービスであるため、 [ Exposed Service Type ] プロパティが「Load Balancer」に設定されています。

アプリケーションの実行

次のコマンドを使用すると、アプリケーションの実行場所 (外部 IP) が分かるため、テストが可能です。この例では、「test1app」が名前空間サービスの名前です。
$ kubectl get service -n test1app
NAME                  TYPE           CLUSTER-IP    EXTERNAL-IP     PORT(S)        AGE
deploymentunit1-svc   LoadBalancer   10.0.47.234   52.154.207.98   80:31568/TCP   75s
gx-redis-svc          ClusterIP      10.0.114.75   <none>          6379/TCP       52s

参照

(1) Azure Container Registry の作成方法
(2) docker push コマンド
(3) Azure への Kubernetes クラスターのデプロイ

参考情報





サブページ
Created: 21/04/20 02:19 by Admin Last update: 21/05/20 21:16 by Admin
カテゴリ
Powered by GXwiki 3.0