Criar um experimento de caos que usa uma falha baseada em agente com o portal do Azure
Você pode usar um experimento de caos para verificar se seu aplicativo é resiliente a falhas causando-as em um ambiente controlado. Neste artigo, você causa uma alta porcentagem de evento de utilização de CPU em uma VM (máquina virtual) do Linux usando um teste do caos e o Azure Chaos Studio. A execução desse experimento pode ajudá-lo a se proteger de um aplicativo que fica sem recursos.
Você pode usar essas mesmas etapas para configurar e executar um experimento para qualquer falha baseada em agente. Uma falha baseada em agente requer a instalação do agente caos. Uma falha direta de serviço é executada diretamente em um recurso do Azure sem a necessidade de instrumentação.
Pré-requisitos
- Uma assinatura do Azure. Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.
- Uma máquina virtual Linux executando um sistema operacional na lista de compatibilidade de versão. Se você não tiver uma VM, poderá criá-la.
- Uma configuração de rede que permite que você use o SSH na máquina virtual.
- Uma identidade gerenciada atribuída à máquina virtual ou ao conjunto de dimensionamento de máquinas virtuais de destino. Se você não tiver uma identidade gerenciada atribuída pelo usuário, poderá criar uma.
Habilitar o Chaos Studio na máquina virtual
O Chaos Studio não pode injetar falhas em uma VM, a menos que essa VM tenha sido adicionada primeiro ao Chaos Studio. Para adicionar uma VM ao Chaos Studio, crie um destino e recursos no recurso. Em seguida, você instala o agente caos.
As máquinas virtuais têm dois tipos de destino. Um tipo de destino habilita falhas diretas de serviço (em que nenhum agente é necessário). Outro tipo de destino habilita falhas baseadas em agente (o que requer a instalação de um agente). O agente caos é um aplicativo instalado em sua VM como uma extensão de VM. Use-o para injetar falhas no sistema operacional convidado.
Habilitar o destino, funcionalidades e o agente de caos
Importante
Antes de concluir as próximas etapas, você deve criar uma identidade gerenciada atribuída pelo usuário. Em seguida, atribua-a à VM de destino ou ao conjunto de dimensionamento de máquinas virtuais.
Abra o Portal do Azure.
Pesquise Chaos Studio na barra de pesquisa.
Selecione Destinos e vá para sua VM.
Marque a caixa de seleção ao lado da VM e selecione Habilitar destinos. Em seguida, selecione Habilitar destinos baseados em agente no menu suspenso.
Selecione a Identidade Gerenciadaque será usada para autenticar o agente de caos e, opcionalmente, habilitar o Application Insights para ver eventos de experimento e logs de agente.
Selecione Revisão + Habilitar>Habilitar.
Após alguns minutos, uma notificação aparece indicando que os recursos selecionados foram habilitados com sucesso. O portal do Azure adiciona a identidade atribuída pelo usuário à VM. O portal habilita o destino e as funcionalidades do agente e instala o agente do caos como uma extensão de VM.
Se você estiver habilitando um conjunto de dimensionamento de máquinas virtuais, atualize as instâncias para o modelo mais recente acessando o painel de recursos do conjunto de dimensionamento de máquinas virtuais. Selecione Instâncias e, em seguida, selecione todas as instâncias. Selecione Atualizar se você não estiver no modelo mais recente.
Agora você adicionou com êxito sua VM linux ao Chaos Studio. Na exibição Destinos, você também pode gerenciar as funcionalidades habilitadas nesse recurso. Selecione o link Gerenciar ações ao lado de um recurso para exibir as funcionalidades habilitadas para esse recurso.
Criar uma experiência
Agora você pode criar seu experimento. Um experimento de caos define as ações que você deseja executar em relação aos recursos de destino. As ações são organizadas e executadas em etapas sequenciais. O experimento de caos também define as ações que você deseja executar em relação a branches, que são executadas em paralelo.
Selecione a guia Experimentos no Chaos Studio. Nessa exibição, você pode ver e gerenciar todos os experimentos de caos. Selecione Criar>Novo experimento.
Preencha a Assinatura, o Grupo de Recursos e o Local em que deseja implantar o experimento de caos. Dê um nome ao experimento. SelecioneAvançar: Designer de experimentos.
Agora você está no designer de experimentos do Chaos Studio. Você pode experimentar seu experimento adicionando etapas, ramificações e falhas. Dê um nome amigável para a Etapa e Branch. Em seguida, selecione Adicionar ação> Adicionar falha.
Selecione uma Pressão de CPU na lista suspensa. Preencha Duração com o número de minutos para aplicar pressão. Preencha pressureLevel com a % da pressão de utilização da CPU que você deseja aplicar. Deixe virtualMachineScaleSetInstances em branco. SelecioneAvançar: Recursos de destino.
Selecione sua VM e selecione Avançar.
Verifique se o experimento está correto. Em seguida, selecione Revisar + criar>Criar.
Dê permissão de experimento à sua máquina virtual
Quando você cria um experimento de caos, o Chaos Studio cria uma identidade gerenciada atribuída pelo sistema que executa falhas nos recursos de destino. Essa identidade deve receber as permissões apropriadas para o recurso de destino para que o experimento seja executado com êxito.
Vá até sua VM e selecione Controle de acesso (IAM).
Selecione Adicionar>Adicionar atribuição de função.
Pesquise Leitor e selecione a função. Selecione Avançar.
Escolha Selecionar membros e busque pelo nome do seu experimento. Selecione seu experimento e escolha Selecionar. Se houver vários experimentos no mesmo locatário com o mesmo nome, o nome do seu experimento ficará truncado com caracteres aleatórios adicionados.
Selecione Revisão + atribuir>Revisão + atribuir.
Executar o experimento
Agora você está pronto para executar seu experimento. Para ver o impacto, recomendamos que você abra um gráfico de métricas do Azure Monitor com a pressão da CPU da VM em uma guia separada do navegador.
Na exibição experimentos, selecione seu experimento. Selecione Iniciar>OK.
Depois que o Status mudar para Executando, em Histórico, selecione Detalhes para a execução mais recente para ver os detalhes do experimento em execução.
Próximas etapas
Agora que já executou um experimento baseado em agente, você está pronto para: