Создание эксперимента хаоса для закрытия всех целевых объектов в зоне

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

Эти же действия можно использовать для настройки и запуска эксперимента для любой ошибки, поддерживающей динамическое целевое назначение. В настоящее время только завершение работы масштабируемого набора виртуальных машин поддерживает динамическое назначение.

Необходимые компоненты

Включение Chaos Studio в масштабируемых наборах виртуальных машин

Azure Chaos Studio не может внедрять ошибки к ресурсу, пока этот ресурс не будет добавлен в Chaos Studio. Чтобы добавить ресурс в Chaos Studio, создайте целевой объект и возможности ресурса.

Масштабируемые наборы виртуальных машин имеет только один целевой тип (Microsoft-VirtualMachineScaleSet) и одну возможность (shutdown). Другие ресурсы могут иметь до двух целевых типов. Один из целевых типов — для ошибок с прямой службой. Другой целевой тип — для сбоев на основе агента. Другие ресурсы также могут иметь множество других возможностей.

  1. Откройте портал Azure.

  2. Найдите Студию Chaos Studio в строке поиска.

  3. Выберите целевые объекты и найдите ресурс масштабируемого набора виртуальных машин.

  4. Выберите ресурс масштабируемого набора виртуальных машин и выберите "Включить целевые объекты> для прямого обслуживания".

    Снимок экрана: экран

  5. Выберите "Рецензирование" и "Включить>".

Теперь вы успешно добавили масштабируемый набор виртуальных машин в Chaos Studio.

Создание эксперимента

Теперь можно создать эксперимент. Эксперимент хаоса определяет действия, которые необходимо предпринять для целевых ресурсов. Действия упорядочены и выполняются последовательно. Эксперимент хаоса также определяет действия, которые необходимо предпринять против ветвей, которые выполняются параллельно.

  1. В Chaos Studio перейдите в раздел "Эксперименты>создания>нового эксперимента".

    Снимок экрана: экран

  2. Добавьте имя эксперимента, соответствующего рекомендациям по именованию ресурсов. Нажмите кнопку Далее: конструктор экспериментов.

    Снимок экрана: экран создания эксперимента с выделенной кнопкой

  3. На шаге 1 и Ветви 1 выберите "Добавить действие>", чтобы добавить ошибку.

    Снимок экрана: экран создания эксперимента с выделенной кнопкой

  4. Выберите ошибку завершения работы VMSS (версия 2.0 ). Выберите нужную длительность и если вы хотите, чтобы завершение работы было резко. Нажмите кнопку "Далее" — целевые ресурсы.

    Снимок экрана: представление сведений об ошибке.

  5. Выберите ресурс масштабируемого набора виртуальных машин, который вы хотите использовать в эксперименте. Нажмите кнопку "Далее": область.

    Снимок экрана: представление сведений об ошибке с выбранным ресурсом масштабируемого набора виртуальных машин.

  6. В раскрывающемся списке "Зоны" выберите зону, в которой необходимо завершить работу виртуальных машин (виртуальных машин) в экземпляре Масштабируемые наборы виртуальных машин. Выберите Добавить.

    Снимок экрана: представление сведений об ошибке с выбранным параметром

  7. Нажмите кнопку "Рецензирование" и "Создать">, чтобы сохранить эксперимент.

Предоставление разрешения эксперимента масштабируемым наборам виртуальных машин

При создании эксперимента хаоса Студия Chaos Studio создает управляемое удостоверение, назначаемое системой, которое выполняет ошибки в целевых ресурсах. Это удостоверение должно быть предоставлено соответствующим разрешениям целевому ресурсу для успешного выполнения эксперимента. Чтобы использовать эти действия для любого ресурса и целевого типа, измените назначение роли на шаге 3, чтобы соответствовать соответствующей роли для этого ресурса и целевого типа.

  1. Перейдите к ресурсу масштабируемого набора виртуальных машин и выберите элемент управления доступом (IAM)>Добавить назначение ролей.

    Снимок экрана: страница ресурсов масштабируемых наборов виртуальных машин.

  2. На вкладке "Роль" выберите "Участник виртуальной машины" и нажмите кнопку "Далее".

    Снимок экрана: обзор управления доступом для масштабируемых наборов виртуальных машин.

  3. Выберите элементы и найдите имя эксперимента. Выберите эксперимент и нажмите кнопку "Выбрать". Если в одном клиенте имеется несколько экспериментов с одинаковым именем, имя эксперимента усечено случайными символами.

    Снимок экрана: обзор управления доступом.

  4. Выберите "Рецензирование" и "Назначить>проверку" и "Назначить".

    Снимок экрана: страница подтверждения управления доступом.

Запуск эксперимента

Теперь вы готовы к выполнению эксперимента.

  1. В Chaos Studio перейдите в представление "Эксперименты", выберите эксперимент и выберите "Пуск экспериментов".

    Снимок экрана: представление

  2. Нажмите кнопку "ОК ", чтобы убедиться, что вы хотите запустить эксперимент.

  3. Когда состояние изменяется на "Выполнение", выберите "Сведения" для последнего запуска в разделе "Журнал", чтобы просмотреть сведения о выполняемом эксперименте. Если возникают ошибки, их можно просмотреть в разделе "Сведения". Выберите неудачное действие и разверните целевые объекты failed.

Чтобы увидеть эффект, используйте средство, например Azure Monitor или раздел Масштабируемые наборы виртуальных машин портала, чтобы проверить, завершаются ли целевые объекты масштабируемого набора виртуальных машин. Если они завершаются, убедитесь, что службы, работающие на масштабируемых наборах виртуальных машин, по-прежнему выполняются должным образом.

В этом примере эксперимент хаоса успешно завершает работу экземпляра в зоне 1, как ожидалось.

Снимок экрана: страница ресурсов масштабируемых наборов виртуальных машин с экземпляром в состоянии

Следующие шаги

Совет

Если масштабируемый набор виртуальных машин использует политику автомасштабирования, политика подготавливает новые виртуальные машины после завершения работы существующей виртуальной машины. Чтобы предотвратить это действие, добавьте параллельную ветвь в эксперимент, включающую ошибку "Отключить автомасштабирование " для ресурса масштабируемого набора microsoft.insights/autoscaleSettings виртуальных машин. Не забудьте добавить autoscaleSettings ресурс в качестве целевого объекта и назначить роль.

Теперь, когда вы выполнили динамически целевой эксперимент завершения масштабируемого набора виртуальных машин, вы готовы: