Упражнение. Проверка устойчивости микрослужбы в Kubernetes

Завершено

Одно из преимуществ Kubernetes — поддержка декларативного управления конфигурацией. Службы, определенные в файлах конфигурации, сохраняются во всех затратах.

Это означает, что если произошел сбой, Kubernetes автоматически перезапускает службы, запущенные до сбоя.

Давайте увидим эту устойчивость в действии, удалив storefrontend модуль pod, а затем убедившись, что Kubernetes перезапустил его.

  1. Во-первых, в терминале в пространстве кода, запустите kubectl get podsи запишите имя, включая случайную строку storefrontend pod. Ниже представлен пример результата.

    @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. Теперь удалите storefrontend pod с помощью kubectl delete команды. Необходимо указать полное имя модуля pod, включая случайную строку.

    kubectl delete pod storefrontend-5b6cc765c4-hjpx4
    

    Вы получите сообщение немедленно о том, что модуль pod был удален.

  3. Так как Kubernetes поддерживает состояние системы, объявленное в файлах конфигурации, оно сразу же запускает другой экземпляр pod. Это можно проверить, выполнив 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
    

    Обратите внимание, что случайная строка после storefrontend имени изменяется, указывая, что модуль pod является новым экземпляром. Кроме того, значение AGE значительно меньше.

В этом упражнении вы узнали, как Kubernetes автоматически сохраняет объявленное состояние системы, даже если произошел сбой.

Проверьте свои знания

1.

Что такое причина, по которой Kubernetes перезапускает модули pod при сбое?