演習 - Helm チャートをインストールする
Helm チャートを使用すると、事前に構成されたクラウドネイティブ アプリを Kubernetes クラスターに簡単にインストールできるようになります。
この演習では、Helm を使用して、Kubernetes クラスターにペット ストア アプリケーションをインストールします。
Helm チャートをデプロイする
Azure Cloud Shell にアクセスし、aks-store-demo ディレクトリが操作対象になっていることを確認します。 異なる場合は、
cd
を使って対象のディレクトリに切り替えます。cd aks-store-demo
cd
を使って charts/aks-store-demo ディレクトリに切り替えます。cd charts
helm install
コマンドを使って、ペット ストアフロント Helm チャートをデプロイします。helm install aks-store-demo ./aks-store-demo
このコマンドにより、次の出力のような結果が返されるはずです。
NAME: aks-store-demo LAST DEPLOYED: Tue Feb 20 21:05:51 2024 NAMESPACE: default STATUS: deployed REVISION: 1 NOTES: 1. Get the application URL by running these commands: export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=aks-store-demo,app.kubernetes.io/instance=storedemo2" -o jsonpath="{.items[0].metadata.name}") export CONTAINER_PORT=$(kubectl get pod --namespace default $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl --namespace default port-forward $POD_NAME 8080:$CONTAINER_PORT
Helm を使用すると、クラスター上にインストールされているすべてのリリースに対してクエリを実行できます。
helm list
コマンドを使って、すべての Helm リリースを一覧表示します。helm list
このコマンドにより、次の出力のような結果が返されるはずです。
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION aks-store-demo default 1 2024-02-20 21:05:51.557392349 +0000 UTC deployed aks-store-demo-0.1.0 1.16.0
Helm を使うと、各リリースに関連するマニフェスト情報をフェッチできます。
helm get manifest
コマンドを使ってマニフェスト情報をフェッチします。helm get manifest aks-store-demo
このコマンドにより、次の出力要約のような結果が返されるはずです。
--- # Source: aks-store-demo-chart/templates/order-service.yaml apiVersion: v1 kind: Secret metadata: name: order-service-secret ... --- # Source: aks-store-demo-chart/templates/rabbitmq.yaml apiVersion: v1 kind: Secret metadata: name: rabbitmq-secret ... --- # Source: aks-store-demo-chart/templates/order-service.yaml apiVersion: v1 kind: ConfigMap metadata: name: makeline-service-configmap ...
kubectl get pods
コマンドを実行して、ポッドがデプロイされていることを検証します。kubectl get pods -o wide -w
このコマンドにより、次の出力のような結果が返されるはずです。
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES makeline-service-8747ddb89-j6mvz 1/1 Running 0 6m11s 10.244.2.7 aks-nodepool1-41853373-vmss000001 <none> <none> mongodb-0 1/1 Running 0 6m11s 10.244.2.3 aks-nodepool1-41853373-vmss000001 <none> <none> order-service-7854888498-mlsvv 1/1 Running 0 6m11s 10.244.2.8 aks-nodepool1-41853373-vmss000001 <none> <none> product-service-5d7d4f5c47-gr4sc 1/1 Running 0 6m11s 10.244.2.6 aks-nodepool1-41853373-vmss000001 <none> <none> rabbitmq-0 1/1 Running 0 6m11s 10.244.2.2 aks-nodepool1-41853373-vmss000001 <none> <none> store-admin-894788d77-k5qjw 1/1 Running 0 6m11s 10.244.2.10 aks-nodepool1-41853373-vmss000001 <none> <none> store-front-6749d8579c-xdkv8 1/1 Running 0 6m11s 10.244.2.4 aks-nodepool1-41853373-vmss000001 <none> <none> virtual-customer-76c4bb9b7-dq6lc 1/1 Running 0 6m11s 10.244.2.9 aks-nodepool1-41853373-vmss000001 <none> <none> virtual-worker-56b79f9547-9dkm9 1/1 Running 0 6m11s 10.244.2.5 aks-nodepool1-41853373-vmss000001 <none> <none>
終わったら、
Ctrl+C
キーを押してコマンドを終了します。
Helm リリースを削除する
helm delete
コマンドを使って、Helm リリースを削除します。helm delete aks-store-demo
このコマンドを実行すると、次の出力のような結果が返されるはずです。
release "aks-store-demo" uninstalled
set の値を使用して Helm チャートをインストールする
値パラメーターと独自の values.yaml
ファイルのいずれかを渡すことで、Helm チャートの値を上書きできます。 ここでは、次のコマンドを使用して、--set
パラメーターを使って値を更新する方法を確認します。 values.yaml
ファイルを使用する方法については、次のユニットで学習します。
--set
パラメーターを指定したhelm install
コマンドを使って Helm チャートをインストールすることで、展開テンプレートのreplicaCount
を 5 件のレプリカに設定します。helm install --set replicaCount=5 aks-store-demo ./aks-store-demo
kubectl get pods
コマンドを使って、5 件のポッド レプリカがデプロイされたことを検証します。kubectl get pods -o wide -w
このコマンドにより、次の出力のような結果が返されるはずです。
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES aks-store-demo-c8dfddf78-2v8fv 1/1 Running 0 31s 10.244.1.5 aks-nodepool1-41853373-vmss000000 <none> <none> aks-store-demo-c8dfddf78-8t4rq 1/1 Running 0 31s 10.244.2.16 aks-nodepool1-41853373-vmss000001 <none> <none> aks-store-demo-c8dfddf78-h2p8m 1/1 Running 0 31s 10.244.2.15 aks-nodepool1-41853373-vmss000001 <none> <none> aks-store-demo-c8dfddf78-l8qq2 1/1 Running 0 31s 10.244.0.10 aks-nodepool1-41853373-vmss000002 <none> <none> aks-store-demo-c8dfddf78-xwcpw 1/1 Running 0 31s 10.244.0.9 aks-nodepool1-41853373-vmss000002 <none> <none>
終わったら、
Ctrl+C
キーを押してコマンドを終了します。helm delete
コマンドを使って、Helm チャートを削除します。helm delete aks-store-demo