Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Прежде чем вы сможете внедрить ошибку в ресурс Azure, ресурс должен иметь соответствующие цели и включенные возможности. Цели и функции контролируют, какие ресурсы включены для внедрения ошибок и какие ошибки могут запускаться против этих ресурсов.
Используя показатели и возможности вместе с другими мерами безопасности, вы можете избежать случайного или злонамеренного внедрения ошибок в Azure Chaos Studio. Например, с целями и возможностями можно разрешить запуск сбоя давления ЦПУ на продуктивных виртуальных машинах, предотвращая выполнение сбоя завершения процесса.
Целевые объекты
Целевой объект хаоса позволяет Chaos Studio взаимодействовать с ресурсом для определенного типа целевого объекта.
Целевой тип представляет метод внедрения ошибок в ресурс. Типы ресурсов, которые поддерживают только ошибки, связанные с прямым обслуживанием, имеют один целевой тип. Примером является тип Microsoft-CosmosDB
для Azure Cosmos DB.
Типы ресурсов, которые поддерживают ошибки при прямом подключении к службе и через агент, имеют два типа назначения. Один из целевых типов предназначен для сбоев, непосредственно связанных с обслуживанием (например, Microsoft-VirtualMachine
). Другой тип целевого объекта предназначен для сбоев на основе агента (всегда Microsoft-Agent
).
Целевой объект — это ресурс расширения, созданный в качестве дочернего ресурса, подключенного к Chaos Studio. Примерами являются виртуальная машина или группа безопасности сети. Цель определяет тип цели, который активирован на ресурсе. Например, при подключении экземпляра Azure Cosmos DB с этим идентификатором ресурса:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/chaosstudiodemo/providers/Microsoft.DocumentDB/databaseAccounts/myDB
Ресурс Azure Cosmos DB имеет дочерний ресурс, форматированный в следующем примере:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/chaosstudiodemo/providers/Microsoft.DocumentDB/databaseAccounts/myDB/providers/Microsoft.Chaos/targets/Microsoft-CosmosDB
Только ресурсы с целевым объектом, созданным из них, предназначены для внедрения ошибок с помощью Chaos Studio.
Возможности
Возможность позволяет Chaos Studio выполнять определенную ошибку в ресурсе, например завершение работы виртуальной машины. Возможности уникальны для каждого целевого типа. Они олицетворяют ошибку, которую они допускают, например, CPUPressure-1.0
. Чтобы понять все доступные ошибки и соответствующие имена возможностей и типы целевых объектов, ознакомьтесь с библиотекой ошибок Chaos Studio.
Возможность — это ресурс, расширяющий возможности, созданный как дочерний объект для целевой системы. Например, если вы включаете сбой завершения работы виртуальной машины с идентификатором целевого объекта service-direct:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine
Целевой ресурс имеет дочерний ресурс, отформатированный в следующем примере:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/shutdown-1.0
Эксперимент может внедрять только ошибки на подключенных целевых объектах с соответствующими возможностями.
Перечисление имен возможностей и параметров
Для справки в нашей библиотеке ошибок доступен список наименований возможностей, URN сбоев и параметров. Вы можете использовать HTTP-ответ, чтобы создать возможность или выполнить GET по существующей возможности, чтобы получить эту информацию по запросу. Например, чтобы выполнить функцию GET для завершения работы виртуальной машины:
az rest --method get --url "https://management.azure.com/subscriptions/fd9ccc83-faf6-4121-9aff-2a2d685ca2a2/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/shutdown-1.0?api-version=2023-11-01"
Возвращает следующий код JSON:
{
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/myRG/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/shutdown-1.0",
"name": "shutdown-1.0",
"properties": {
"description": null,
"name": "shutdown-1.0",
"parametersSchema": "https://schema-tc.eastus.chaos-prod.azure.com/targetTypes/Microsoft-VirtualMachine/capabilityTypes/Shutdown-1.0/parametersSchema.json",
"publisher": "Microsoft",
"targetType": "VirtualMachine",
"type": "shutdown",
"urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0",
"version": "1.0"
},
"resourceGroup": "myRG",
"systemData": {
"createdAt": "2021-09-15T23:00:00.826575+00:00",
"lastModifiedAt": "2021-09-15T23:00:00.826575+00:00"
},
"type": "Microsoft.Chaos/targets/capabilities"
}
Свойство properties.urn
используется для определения сбоя, который требуется выполнить в эксперименте хаоса. Чтобы понять схему параметров этого сбоя, можно получить схему, на которую ссылается properties.parametersSchema
:
az rest --method get --url "https://schema-tc.eastus.chaos-prod.azure.com/targetTypes/Microsoft-VirtualMachine/capabilityTypes/Shutdown-1.0/parametersSchema.json"
Возвращает следующий код JSON:
{
"$schema": "https://json-schema.org/draft-07/schema",
"properties": {
"abruptShutdown": {
"type": "boolean"
},
"restartWhenComplete": {
"type": "boolean"
}
},
"type": "object"
}
Следующие шаги
Теперь, когда вы понимаете, что такое целевые объекты и возможности, вы готовы: