Esercizio - Installare un chart Helm
I chart Helm semplificano l'installazione di app native del cloud preconfigurate in un cluster Kubernetes.
In questo esercizio si userà Helm per installare l'applicazione del negozio di animali nel cluster Kubernetes.
Distribuire un chart Helm
Passare ad Azure Cloud Shell e assicurarsi di essere nella directory aks-store-demo. In caso contrario, passare alla directory usando
cd
.cd aks-store-demo
Passare alla directory charts/aks-store-demo usando
cd
.cd charts cd aks-store-demo
Distribuire il chart Helm anteriore del negozio di animali usando il comando
helm install
.helm install aks-store-demo ./aks-store-demo
Il comando restituirà un risultato simile all'output seguente:
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 consente di eseguire una query su tutte le versioni installate nel cluster. Elencare tutte le versioni di Helm usando il comando
helm list
.helm list
Il comando restituirà un risultato simile all'output seguente:
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 consente di recuperare le informazioni del manifesto correlate a ogni versione. Recuperare le informazioni sul manifesto usando il comando
helm get manifest
.helm get manifest aks-store-demo
Il comando dovrebbe restituire un risultato simile all'output condensato seguente:
--- # 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 ...
Verificare che il pod venga distribuito usando il comando
kubectl get pods
.kubectl get pods -o wide -w
Il comando restituirà un risultato simile all'output seguente:
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>
Al termine, usare
Ctrl+C
per chiudere il comando.
Eliminare una versione Helm
Eliminare la versione di Helm usando il comando
helm delete
.helm delete aks-store-demo
Il comando restituirà un risultato simile all'output seguente:
release "aks-store-demo" uninstalled
Installare un chart Helm con valori definiti
È possibile eseguire l'override dei valori per un chart Helm passando un parametro per il valore o un file values.yaml
personalizzato. Per il momento, usare i comandi seguenti per vedere come aggiornare un valore usando il parametro --set
. Si apprenderà come usare un file values.yaml
nell'unità successiva.
Installare il grafico Helm usando il comando
helm install
con il parametro--set
per impostarereplicaCount
del modello di distribuzione su cinque repliche.helm install --set replicaCount=5 aks-store-demo ./aks-store-demo
Verificare che siano state distribuite cinque repliche pod usando il comando
kubectl get pods
.kubectl get pods -o wide -w
Il comando restituirà un risultato simile all'output seguente:
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>
Al termine, usare
Ctrl+C
per chiudere il comando.Eliminare il chart Helm usando il comando
helm delete
.helm delete aks-store-demo