Exercice - Installer un chart Helm

Effectué

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

  1. 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
    
  2. Accédez au répertoire charts/aks-store-demo en utilisant cd.

    cd charts
    
  3. 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
    
  4. 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
    
  5. 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
    ...
    
  6. 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

  1. 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é.

  1. Installez le chart Helm en utilisant la commande helm install avec le paramètre --set pour définir le replicaCount du modèle de déploiement sur cinq réplicas.

    helm install --set replicaCount=5 aks-store-demo ./aks-store-demo
    
  2. 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.

  3. Supprimez le chart Helm en utilisant la commande helm delete.

    helm delete aks-store-demo