Ejercicio: Instalación de un gráfico de Helm
Los gráficos de Helm facilitan la instalación de aplicaciones nativas de nube preconfiguradas en un clúster de Kubernetes.
En este ejercicio, va a usar Helm para instalar la aplicación de la tienda de mascotas en el clúster de Kubernetes.
Implementación de un gráfico de Helm
Vaya a Azure Cloud Shell y asegúrese de que está en el directorio aks-store-demo. Si no es así, cambie al directorio mediante
cd
.cd aks-store-demo
Cambie al directorio charts/aks-store-demo mediante
cd
.cd charts
Implemente el gráfico de Helm del escaparate de mascotas mediante el comando
helm install
.helm install aks-store-demo ./aks-store-demo
Este comando debe devolver un resultado similar al siguiente:
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 le permite consultar todas las versiones instaladas en el clúster. Enumere todas las versiones de Helm con el comando
helm list
.helm list
Este comando debe devolver un resultado similar al siguiente:
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 le permite capturar información del manifiesto relacionada con cada versión. Capture la información del manifiesto mediante el comando
helm get manifest
.helm get manifest aks-store-demo
Este comando debe devolver un resultado similar a la siguiente salida 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 ...
Compruebe que el pod esté implementado ejecutando el comando
kubectl get pods
.kubectl get pods -o wide -w
Este comando debe devolver un resultado similar al siguiente:
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>
Use
Ctrl+C
para salir del comando cuando haya terminado.
Eliminación de una versión de Helm
Elimine la versión de Helm con el comando
helm delete
.helm delete aks-store-demo
Este comando debe devolver un resultado similar al siguiente:
release "aks-store-demo" uninstalled
Instalación de un gráfico de Helm con valores establecidos
Puede invalidar los valores de un gráfico de Helm pasando un parámetro de valor o su propio archivo values.yaml
. Por ahora, use los comandos siguientes para ver cómo actualizar un valor mediante el parámetro --set
. Aprenderá a usar un archivo values.yaml
en la siguiente unidad.
Instale el gráfico de Helm mediante el comando
helm install
con el parámetro--set
para establecer el elementoreplicaCount
de la plantilla de implementación en cinco réplicas.helm install --set replicaCount=5 aks-store-demo ./aks-store-demo
Compruebe que se implementaron las cinco réplicas de pod mediante el comando
kubectl get pods
.kubectl get pods -o wide -w
Este comando debe devolver un resultado similar al siguiente:
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>
Use
Ctrl+C
para salir del comando cuando haya terminado.Elimine el gráfico de Helm con el comando
helm delete
.helm delete aks-store-demo