Ejercicio: Demostración de la resistencia del microservicio en Kubernetes
Una de las ventajas de Kubernetes es la compatibilidad con la administración de configuración declarativa. Los servicios que defina en los archivos de configuración se conservarán a toda costa.
Esto significa que, si se produce un error, Kubernetes reinicia automáticamente los servicios que estaban en ejecución antes del error.
Ahora se verá esta resistencia en acción. Para ello, se eliminará el pod storefrontend
y, luego, se confirmará que Kubernetes lo ha reiniciado.
En primer lugar, en el TERMINAL del codespace, ejecute
kubectl get pods
y anote el nombre, incluida la cadena aleatoria, del podstorefrontend
. Este es un ejemplo de salida:@user-name /workspaces/eShopLite % kubectl get pods NAME READY STATUS RESTARTS AGE productsbackend-7445bdb5c9-pnpk6 1/1 Running 0 31m storefrontend-5b6cc765c4-hjpx4 1/1 Running 0 63m
Ahora, elimine el pod
storefrontend
mediante el comandokubectl delete
. Debe especificar el nombre completo del pod, incluida la cadena aleatoria.kubectl delete pod storefrontend-5b6cc765c4-hjpx4
Recibirá un mensaje inmediatamente que indica que se ha eliminado el pod.
Dado que Kubernetes mantiene el estado del sistema declarado en los archivos de configuración, inicia inmediatamente otra instancia de pod. Para confirmarlo, ejecute
kubectl get pods
.@user-name /workspaces/eShopLite % kubectl get pods NAME READY STATUS RESTARTS AGE productsbackend-7445bdb5c9-pnpk6 1/1 Running 0 31m storefrontend-5b6cc765c4-vwmv8 1/1 Running 0 7s
Observe que la cadena aleatoria que sigue al nombre
storefrontend
ha cambiado, lo que indica que el pod es una instancia nueva. Además, el valor AGE también es considerablemente menor.
En este ejercicio, ha aprendido cómo Kubernetes mantiene automáticamente el estado del sistema declarado, incluso si se produce un error.