Oefening: microservicetolerantie bewijzen in Kubernetes
Een van de voordelen van Kubernetes is de ondersteuning voor declaratief configuratiebeheer. De services die u in de configuratiebestanden definieert, worden altijd bewaard.
Dit betekent dat als er een fout is opgetreden, Kubernetes de services die vóór de fout werden uitgevoerd, automatisch opnieuw wordt gestart.
Laten we deze tolerantie in actie zien door de storefrontend
pod te verwijderen en vervolgens te controleren of Kubernetes deze opnieuw heeft opgestart.
Voer
kubectl get pods
eerst in de TERMINAL op de coderuimte de naam uit en noteer de naam, inclusief de willekeurige tekenreeks, van destorefrontend
pod. Hier volgt een voorbeeld van uitvoer:@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
Verwijder nu de
storefrontend
pod met behulp van dekubectl delete
opdracht. U moet de volledige naam van de pod opgeven, inclusief de willekeurige tekenreeks.kubectl delete pod storefrontend-5b6cc765c4-hjpx4
U ontvangt onmiddellijk een bericht waarin wordt aangegeven dat de pod is verwijderd.
Omdat Kubernetes de systeemstatus onderhoudt zoals gedeclareerd in de configuratiebestanden, wordt er onmiddellijk een ander pod-exemplaar gestart. U kunt dit controleren door uit te voeren
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
U ziet dat de willekeurige tekenreeks na de
storefrontend
naam is gewijzigd, waarmee wordt aangegeven dat de pod een nieuw exemplaar is. Ook de AGE-waarde is aanzienlijk minder.
In deze oefening hebt u geleerd hoe Kubernetes automatisch de gedeclareerde systeemstatus onderhoudt, zelfs als er een fout opgetreden is.