Exercício – Instalar um gráfico Helm
Os gráficos Helm facilitam a instalação de aplicativos nativos da nuvem pré-configurados em um cluster Kubernetes.
Neste exercício, você usará o Helm para instalar o aplicativo pet store no cluster do Kubernetes.
Implementar um gráfico Helm
Navegue até o Azure Cloud Shell e verifique se você está no diretório aks-store-demo . Caso contrário, mude para o diretório usando
cd
.cd aks-store-demo
Mude para o diretório charts/aks-store-demo usando
cd
.cd charts
Implante o gráfico Helm frontal da loja de animais de estimação usando o
helm install
comando.helm install aks-store-demo ./aks-store-demo
O comando deve retornar um resultado semelhante à seguinte saída:
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
O Helm permite-lhe consultar todas as versões instaladas no cluster. Liste todas as versões do Helm usando o
helm list
comando.helm list
O comando deve retornar um resultado semelhante à seguinte saída:
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
O Helm permite que você busque informações de manifesto relacionadas a cada versão. Buscar informações de manifesto usando o
helm get manifest
comando.helm get manifest aks-store-demo
O comando deve retornar um resultado semelhante à seguinte saída condensada:
--- # 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 ...
Valide se o pod está implantado usando o
kubectl get pods
comando.kubectl get pods -o wide -w
O comando deve retornar um resultado semelhante à seguinte saída:
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>
Quando terminar, utilize
Ctrl+C
para sair do comando.
Eliminar uma versão do Helm
Exclua a versão Helm usando o
helm delete
comando.helm delete aks-store-demo
O comando deve retornar um resultado semelhante à seguinte saída:
release "aks-store-demo" uninstalled
Instalar um gráfico Helm com valores definidos
Você pode substituir valores para um gráfico Helm passando um parâmetro de valor ou seu próprio values.yaml
arquivo. Por enquanto, use os comandos a seguir para ver como atualizar um valor usando o --set
parâmetro. Você aprenderá como usar um values.yaml
arquivo na próxima unidade.
Instale o gráfico Helm usando o
helm install
comando com o--set
parâmetro para definir oreplicaCount
modelo de implantação como cinco réplicas.helm install --set replicaCount=5 aks-store-demo ./aks-store-demo
Valide se cinco réplicas de pod foram implantadas usando o
kubectl get pods
comando.kubectl get pods -o wide -w
O comando deve retornar um resultado semelhante à seguinte saída:
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>
Quando terminar, utilize
Ctrl+C
para sair do comando.Exclua o gráfico Helm usando o
helm delete
comando.helm delete aks-store-demo