Compartilhar via


Tutorial: Configurar um contêiner de sidecar para um aplicativo de contêiner personalizado

Este tutorial mostra como adicionar um coletor OpenTelemetry como um contêiner sidecar a um aplicativo de contêiner personalizado do Linux no Serviço de Aplicativo do Azure.

Os contêineres sidecar no Serviço de Aplicativo permitem implantar serviços e recursos extras nos aplicativos Linux sem acoplá-los firmemente ao contêiner principal interno ou personalizado. Os contêineres sidecar são executados junto ao contêiner do aplicativo principal no mesmo plano do Serviço de Aplicativo.

Você pode adicionar até nove contêineres sidecar para cada aplicativo Linux no App Service. Por exemplo, você pode adicionar serviços de monitoramento, registro em log, configuração e rede como contêineres sidecar. Um sidecar do coletor OpenTelemetry é um exemplo utilizado para monitoramento.

Para aplicativos Linux de código próprio, consulte Tutorial: Configurar um contêiner de sidecar para um aplicativo Linux no Serviço de Aplicativo do Azure.

Pré-requisitos

  • Se você ainda não tiver uma conta do Azure, crie uma conta gratuita antes de começar.

  • Você pode executar os comandos neste tutorial usando o Azure Cloud Shell, um shell interativo que você usa por meio do navegador para trabalhar com os serviços do Azure. Para usar o Cloud Shell:

    1. Selecione o botão Iniciar Cloud Shell ou acesse https://shell.azure.com para abrir o Cloud Shell no navegador.

    2. Entre no Azure, se necessário, e verifique se você está no ambiente Bash do Cloud Shell.

    3. Selecione Copiar em qualquer bloco de código, cole o código no Cloud Shell e execute-o.

      Os azd comandos neste tutorial usam a CLI do Desenvolvedor do Azure, uma ferramenta de software livre que acelera o provisionamento e a implantação de recursos de aplicativo no Azure.

1. Configurar os recursos do tutorial

Para clonar o repositório de exemplo e criar os recursos para este tutorial, execute os comandos a seguir no Cloud Shell. Quando solicitado, selecione a assinatura do Azure e a região do Azure que você deseja usar.

git clone https://github.com/Azure-Samples/app-service-sidecar-tutorial-prereqs
cd app-service-sidecar-tutorial-prereqs
azd env new my-sidecar-env
azd provision

O azd provision comando usa os modelos incluídos para criar um grupo de recursos do Azure chamado my-sidecar-env_group que contém os seguintes recursos do Azure:

Quando a implantação for concluída, você deverá ver uma saída semelhante ao seguinte exemplo:

Success!

APPLICATIONINSIGHTS_CONNECTION_STRING = InstrumentationKey=aaaaaaaa-0b0b-1c1c-2d2d-333333333333;IngestionEndpoint=https://eastus2-3.in.applicationinsights.azure.com/;LiveEndpoint=https://eastus2.livediagnostics.monitor.azure.com/;ApplicationId=00001111-aaaa-2222-bbbb-3333cccc4444
Azure container registry name = acro2lc774l6vjgg
Managed identity resource ID = /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-sidecar-env_group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id-my-sidecar-env_group
Managed identity client ID = 00aa00aa-bb11-cc22-dd33-44ee44ee44ee

Open resource group in the portal: https://portal.azure.com/#@/resource/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-sidecar-env_group

Copie e salve o valor de APPLICATIONINSIGHTS_CONNECTION_STRING para usar posteriormente neste tutorial.

Clique no link de Open resource group in the portal para abrir o grupo de recursos provisionado no portal do Azure.

2. Criar um aplicativo habilitado para sidecar

No grupo de recursos no portal do Azure, crie um aplicativo de contêiner personalizado do Linux com suporte a sidecar e configure o contêiner principal.

  1. Na página do grupo de recursos no portal do Azure, selecione Criar.

  2. Na página do Marketplace , pesquise aplicativo Web, selecione a seta para baixo ao lado de Criar no bloco do Aplicativo Web e selecione Aplicativo Web.

    Captura de tela mostrando a página do Azure Marketplace com o aplicativo Web sendo pesquisado e o botão criar aplicativo Web realçado.

  3. Na guia Noções básicas da página Criar Aplicativo Web , forneça as seguintes informações:

    • Nome: insira um nome exclusivo para o aplicativo Web.
    • Publicar: Selecionar Contêiner.
    • Sistema operacional: selecione Linux.
    • Região: selecione a mesma região para azd provisiona qual você escolheu.
    • Plano do Linux: selecione o plano fornecido (Novo) do Serviço de Aplicativo.

    Captura de tela mostrando as configurações básicas do aplicativo Web de contêiner personalizado do Linux.

  4. Deixe o restante das configurações como estão e selecione a guia Contêiner na parte superior da página.

  5. Na guia Contêiner , forneça as seguintes informações:

    • Suporte a sidecar: defina como Configuração aprimorada com suporte de sidecar ativado.
    • Origem da imagem: selecione Registro de Contêiner do Azure.
    • Nome: verifique se main é exibida.
    • Registro: selecione o registro criado por azd provision.
    • Autenticação: selecione identidade gerenciada.
    • Identidade: selecione a identidade gerenciada criada por azd provision.
    • Imagem: insira nginx.
    • Marca: insira mais recente.
    • Porta: insira 80 se ainda não estiver definido.

    Captura de tela mostrando as configurações de contêiner para o aplicativo Web de contêiner personalizado do Linux.

    Observação

    Essas configurações são definidas de maneira diferente em aplicativos com e sem sidecar habilitado. Para saber mais, confira Quais são as diferenças dos contêineres personalizados habilitados para sidecar.

  6. Selecione Analisar + criar e, quando a validação for aprovada, Criar.

  7. Assim que a implantação for concluída, selecione Ir para o recurso.

  8. Na página do aplicativo, abra a URL ao lado do domínio Padrão, https://<app-name>.azurewebsites.netem uma nova guia do navegador para ver a página nginx padrão.

3. Adicione um contêiner de sidecar ao aplicativo

Adicione um contêiner sidecar ao aplicativo de contêiner personalizado do Linux.

  1. Na página do aplicativo no portal do Azure, selecione Centro de Implantação em Implantação no menu de navegação à esquerda. A página Centro de Implantação mostra todos os contêineres no aplicativo, atualmente apenas o contêiner principal.

  2. Selecione Contêineres.

  3. Selecione Adicionar>contêiner Personalizado.

  4. No painel Adicionar contêiner , conclua as seguintes informações:

    • Nome: Digite otel-collector.
    • Fonte da imagem: Selecione o Registro de Contêiner do Azure.
    • Registro: selecione o registro criado por azd provision.
    • Autenticação: selecione Identidade Gerenciada.
    • Identidade: em Usuário atribuído, selecione a identidade gerenciada criada por azd provision.
    • Imagem: Selecione otel-collector.
    • Marca de imagem: insira latest.
    • Porta: Insira 4317.
  5. Escolha Aplicar.

    Captura de tela mostrando como configurar um contêiner de sidecar no centro de implantação de um aplicativo Web.

Agora há dois contêineres no centro de implantação rotulados Main e Sidecar. Um aplicativo precisa ter um contêiner principal e pode ter diversos contêineres sidecar.

4. Configurar variáveis de ambiente

No cenário de exemplo, o otel-collector sidecar é configurado para exportar os dados do OpenTelemetry para o Azure Monitor usando a string de conexão como uma variável de ambiente. Para mais informações, consulte o arquivo de configuração do OpenTelemetry para a imagem otel-collector.

Configure a variável de ambiente para o contêiner definindo as configurações do aplicativo para o aplicativo. As configurações do aplicativo são acessíveis a todos os contêineres no aplicativo.

  1. Na página do aplicativo no portal do Azure, selecione Variáveis de ambiente em Configurações no menu de navegação à esquerda.

  2. Na guia Configurações do aplicativo da página Variáveis de ambiente , selecione Adicionar.

  3. No painel Adicionar/Editar configuração do aplicativo , insira os seguintes valores:

    • Nome: APPLICATIONINSIGHTS_CONNECTION_STRING
    • Valor: O valor de APPLICATIONINSIGHTS_CONNECTION_STRING a partir da saída de azd provision. Você também pode encontrar esse valor como Cadeia de Conexão na página Visão geral do recurso Application Insight do grupo de recursos.
  4. Selecione Aplicar, selecione Aplicar novamente e, em seguida, selecione Confirmar. A configuração do aplicativo APPLICATIONINSIGHTS_CONNECTION_STRING agora aparece na guia Configurações do aplicativo.

    Captura de tela mostrando a página Configuração de um aplicativo Web com duas configurações de aplicativo adicionadas.

Observação

Algumas configurações de aplicativo não se aplicam a aplicativos habilitados para sidecar. Para saber mais, confira Quais são as diferenças dos contêineres personalizados habilitados para sidecar.

5. Verificar no Application Insights

O sidecar otel-collector agora deve exportar dados para o Application Insights.

  1. Acesse seu aplicativo em uma nova guia do navegador e atualize a página algumas vezes para gerar algumas solicitações da Web.

  2. Na página do grupo de recursos no portal do Azure, selecione o recurso do Application Insights . Agora você deve ver alguns dados nos gráficos padrão na página visão geral do Application Insights.

    Captura de tela da página Application Insights mostrando dados nos gráficos padrão.

Observação

Nesse cenário de monitoramento comum, o Application Insights é apenas um dos destinos de OpenTelemetry que você pode usar, como Jaeger, Prometheus e Zipkin.

6. Limpar os recursos

Quando você não precisar mais do ambiente criado para este tutorial, poderá excluir o grupo de recursos, que remove o serviço de aplicativo e todos os recursos relacionados. Execute o comando a seguir no repositório clonado no Cloud Shell.

azd down