Exercício – Instalar um gráfico Helm

Concluído

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

  1. 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
    
  2. Mude para o diretório charts/aks-store-demo usando cd.

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

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

  1. Instale o gráfico Helm usando o helm install comando com o --set parâmetro para definir o replicaCount modelo de implantação como cinco réplicas.

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

  3. Exclua o gráfico Helm usando o helm delete comando.

    helm delete aks-store-demo