0

practicum

Практическая работа. Сбой приложения

26.04.2022

Последний сценарий, который мы рассмотрим, это сбой приложения. Ситуация, когда сама виртуальная машина работоспособна, но по каким-то причинам произошла ошибка в приложении. Это может быть потеря соединения с базой данных или какой-то баг в запущенном приложении (например, утечка памяти). Давайте имитируем такой сценарий. На наших виртуальных машинах запущен только веб-сервер nginx, давайте остановим его. Но сначала включим проверку состояния виртуальных машин.

  1. В веб-консоли откройте страницу Обзор для вашей группы виртуальных машин, нажмите Изменить и активируйте проверку состояний. Сохраните изменения.
image
  1. В браузере откройте внешний IP-адрес балансировщика, привязанного к вашей группе, и посмотрите, на какую из машин выводится трафик. Узнайте внешний IP-адрес этой машины.
  2. В новой вкладке браузера откройте IP-адрес этой виртуальной машины и убедитесь, что выводится приветственная страница, т.е. сервер доступен.
  3. Помните, когда вы меняли файл конфигурации для группы машин, вы добавили в него пользователя my-user? Теперь он вам пригодится — из консоли зайдите на виртуальную машину от его имени:
ssh my-user@84.252.132.4 
  1. Посмотрите список запущенных процессов:
ps axu 

Убедитесь, что в списке есть процессы nginx:

image
  1. Теперь остановите эти процессы, чтобы сделать сервер недоступным:
sudo killall nginx 
  1. В браузере обновите страницу балансировщика. Вы увидите, что теперь трафик направляется на другую виртуальную машину группы. Это означает, что Instance Group обнаружил сбой приложения и переключил трафик.
  2. Теперь обновите страницу виртуальной машины, на которой вы остановили nginx. Убедитесь, что сервер теперь недоступен.
  3. Откройте список машин вашей группы и проследите, как меняется состояние одной из машин.Сначала будет закрыт трафик (Closing traffic), затем виртуальная машина будет остановлена (Stopping instance), а затем перезапущена (Running actual).
  4. Обновите страницу виртуальной машины и убедитесь, что веб-сервер снова доступен на ней.

Мы проверили четыре основных сценария сбоев и убедились, что Yandex.Cloud автоматически отрабатывает их и восстанавливает работоспособность группы.Теперь вы можете удалить группу виртуальных машин, в этом курсе она больше не понадобится.

Свежие комментарии

Подписка

Лучшие статьи


Fatal error: Uncaught Error: Call to a member function have_posts() on null in /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/blog.php:380 Stack trace: #0 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/widgets/latest-posts/widget.php(257): fox56_blog_grid(NULL, Array) #1 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/widgets/latest-posts/register.php(33): include('/home/host18670...') #2 /home/host1867038/the-devops.ru/htdocs/www/wp-includes/class-wp-widget.php(394): Wi_Widget_Latest_Posts->widget(Array, Array) #3 /home/host1867038/the-devops.ru/htdocs/www/wp-includes/widgets.php(837): WP_Widget->display_callback(Array, Array) #4 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/single.php(417): dynamic_sidebar('sidebar') #5 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/single.php(136): fox56_single_sidebar() #6 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/single.php(7): fox56_single_inner() #7 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/single.php(23): fox56_single() #8 /home/host1867038/the-devops.ru/htdocs/www/wp-includes/template-loader.php(106): include('/home/host18670...') #9 /home/host1867038/the-devops.ru/htdocs/www/wp-blog-header.php(19): require_once('/home/host18670...') #10 /home/host1867038/the-devops.ru/htdocs/www/index.php(17): require('/home/host18670...') #11 {main} thrown in /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/blog.php on line 380