Oefening: microservicetolerantie bewijzen in Kubernetes

Voltooid

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.

  1. Voer kubectl get podseerst in de TERMINAL op de coderuimte de naam uit en noteer de naam, inclusief de willekeurige tekenreeks, van de storefrontend 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
    
  2. Verwijder nu de storefrontend pod met behulp van de kubectl 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.

  3. 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.

Kennis testen

1.

Wat is de reden dat Kubernetes pods opnieuw start wanneer ze mislukken?