Exercice - Installer un chart Helm
Les charts Helm facilitent l’installation d’applications natives cloud préconfigurées sur un cluster Kubernetes.
Dans cet exercice, vous allez utiliser Helm pour installer l’application d’animalerie sur votre cluster Kubernetes.
Déployer un chart Helm
Accédez à Azure Cloud Shell et vérifiez que vous êtes dans le répertoire aks-store-demo. Si ce n’est pas le cas, accédez au répertoire en utilisant
cd
.cd aks-store-demo
Accédez au répertoire charts/aks-store-demo en utilisant
cd
.cd charts
Déployez le chart Helm de l’animalerie en utilisant la commande
helm install
.helm install aks-store-demo ./aks-store-demo
La commande doit retourner un résultat similaire à la sortie suivante :
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 vous permet d’interroger toutes les versions installées sur le cluster. Listez toutes les versions Helm en utilisant la commande
helm list
.helm list
La commande doit retourner un résultat similaire à la sortie suivante :
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 vous permet de récupérer les informations de manifeste relatives à chaque version. Récupérez les informations de manifeste en utilisant la commande
helm get manifest
.helm get manifest aks-store-demo
La commande devrait retourner un résultat similaire à la sortie condensée suivante :
--- # 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 ...
Vérifiez que le pod est déployé en utilisant la commande
kubectl get pods
.kubectl get pods -o wide -w
La commande doit retourner un résultat similaire à la sortie suivante :
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>
Une fois que vous avez terminé, utilisez
Ctrl+C
pour quitter la commande.
Supprimer une version Helm
Supprimez la version Helm à l’aide de la commande
helm delete
.helm delete aks-store-demo
La commande doit retourner un résultat similaire à la sortie suivante :
release "aks-store-demo" uninstalled
Installer un chart Helm avec des valeurs définies
Vous pouvez remplacer les valeurs d’un chart Helm en passant un paramètre de valeur ou votre propre fichier values.yaml
. Pour l’instant, utilisez les commandes suivantes pour voir comment mettre à jour une valeur à l’aide du paramètre --set
. Vous allez apprendre à utiliser un fichier values.yaml
dans la prochaine unité.
Installez le chart Helm en utilisant la commande
helm install
avec le paramètre--set
pour définir lereplicaCount
du modèle de déploiement sur cinq réplicas.helm install --set replicaCount=5 aks-store-demo ./aks-store-demo
Vérifiez que cinq réplicas de pod ont été déployés en utilisant la commande
kubectl get pods
.kubectl get pods -o wide -w
La commande doit retourner un résultat similaire à la sortie suivante :
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>
Une fois que vous avez terminé, utilisez
Ctrl+C
pour quitter la commande.Supprimez le chart Helm en utilisant la commande
helm delete
.helm delete aks-store-demo