Упражнение. Проверка устойчивости микрослужбы в Kubernetes
Одно из преимуществ Kubernetes — поддержка декларативного управления конфигурацией. Службы, определенные в файлах конфигурации, сохраняются во всех затратах.
Это означает, что если произошел сбой, Kubernetes автоматически перезапускает службы, запущенные до сбоя.
Давайте увидим эту устойчивость в действии, удалив storefrontend
модуль pod, а затем убедившись, что Kubernetes перезапустил его.
Во-первых, в терминале в пространстве кода, запустите
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
Теперь удалите
storefrontend
pod с помощьюkubectl delete
команды. Необходимо указать полное имя модуля pod, включая случайную строку.kubectl delete pod storefrontend-5b6cc765c4-hjpx4
Вы получите сообщение немедленно о том, что модуль pod был удален.
Так как 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 автоматически сохраняет объявленное состояние системы, даже если произошел сбой.