Exercice : Prouver la résilience du microservice dans Kubernetes
- 3 minutes
L’un des avantages de Kubernetes est la prise en charge de la gestion de la configuration déclarative. Les services que vous définissez dans les fichiers de configuration sont conservés à tout prix.
Cela signifie qu’en cas de défaillance, Kubernetes redémarre automatiquement les services qui étaient en cours d’exécution avant la défaillance.
Voyons cette résilience en action en supprimant le pod storefrontend, puis en vérifiant que Kubernetes l’a redémarré.
Tout d’abord, dans le TERMINAL sur l’espace de code, exécutez
kubectl get podset notez le nom, y compris la chaîne aléatoire, dustorefrontendpod. Voici un exemple de sortie :@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 63mMaintenant, supprimez le pod
storefrontenden utilisant la commandekubectl delete. Vous devez spécifier le nom complet du pod, y compris la chaîne aléatoire.kubectl delete pod storefrontend-5b6cc765c4-hjpx4Vous recevez immédiatement un message indiquant que le pod a été supprimé.
Comme Kubernetes conserve l’état du système tel que déclaré dans les fichiers de configuration, il démarre immédiatement une autre instance du pod. Vous pouvez vérifier cela en exécutant
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 7sNotez que la chaîne aléatoire qui suit le nom
storefrontenda changé, ce qui indique que le pod est une nouvelle instance. La valeur AGE est également beaucoup moins élevée.
Dans cet exercice, vous découvert comment Kubernetes maintient automatiquement l’état du système déclaré, même en cas de défaillance.