Compartilhar via


Tutorial: Usar a configuração dinâmica no Serviço de Kubernetes do Azure

Se você usar o AKS (Serviço de Kubernetes do Azure), este tutorial mostrará como habilitar a configuração dinâmica para suas cargas de trabalho no AKS aproveitando a Configuração de Aplicativos do Azure e seu Provedor de Kubernetes. O tutorial pressupõe que você já tenha concluído o início rápido e tenha um Provedor de Configuração de Aplicativos para Kubernetes configurado, portanto, antes de continuar, conclua o início rápido Usar a Configuração de Aplicativos do Azure no Serviço de Kubernetes do Azure.

Dica

Confira as opções de cargas de trabalho hospedadas no Kubernetes para acessar a Configuração de Aplicativos do Azure.

Pré-requisitos

Início Rápido: Usar a Configuração de Aplicativos do Azure no Serviço de Kubernetes do Azure .

Recarregar os dados da Configuração de Aplicativo

  1. Abra o arquivo appConfigurationProvider.yaml localizado no diretório De implantação . Em seguida, adicione a refresh seção sob a configuration propriedade. Ele permite que o provedor do Kubernetes recarregue toda a configuração sempre que detectar uma alteração em qualquer um dos valores de chave selecionados (aqueles que começam com Configurações: e não têm rótulo). Para obter mais informações sobre como monitorar alterações de configuração, consulte As práticas recomendadas para atualização de configuração.

    apiVersion: azconfig.io/v1
    kind: AzureAppConfigurationProvider
    metadata:
      name: appconfigurationprovider-sample
    spec:
      endpoint: <your-app-configuration-store-endpoint>
      target:
        configMapName: configmap-created-by-appconfig-provider
        configMapData: 
          type: json
          key: mysettings.json
      auth:
        workloadIdentity:
          managedIdentityClientId: <your-managed-identity-client-id>
      configuration:
        refresh:
          enabled: true
    

    Dica

    Você pode definir a interval propriedade do refresh para especificar o tempo mínimo entre as atualizações de configuração. Neste exemplo, você usa o valor padrão de 30 segundos. Ajuste para um valor mais alto se você precisar reduzir o número de solicitações feitas ao repositório de Configuração de Aplicativos.

  2. Abra o arquivo deployment.yaml no diretório Implantação e adicione o seguinte conteúdo à spec.containers seção. Seu aplicativo carrega a configuração de um arquivo montado em volume gerado pelo provedor Kubernetes de Configuração de Aplicativos. Ao definir essa variável de ambiente, seu aplicativo pode usar sondagem para monitorar alterações em arquivos montados.

    env:
    - name: DOTNET_USE_POLLING_FILE_WATCHER
      value: "true"
    
  3. Execute o comando a seguir para implantar a alteração. Substitua o namespace se você estiver usando seu aplicativo AKS existente.

    kubectl apply -f ./Deployment -n appconfig-demo
    
  4. Abra uma janela do navegador e navegue até o endereço IP obtido na etapa anterior. A página da Web tem esta aparência:

    Captura de tela do aplicativo Web com valores antigos.

  5. Atualize os seguintes valores-chave em seu repositório de Configuração de Aplicativos.

    Chave Valor
    Configurações:Mensagem Olá da Configuração de Aplicativos do Azure – agora com atualizações em tempo real!
  6. Depois de atualizar o navegador algumas vezes, você verá o conteúdo atualizado depois que o ConfigMap for atualizado em 30 segundos.

    Captura de tela do aplicativo Web com valores atualizados.

Recarregar o ConfigMap e o Segredo

O provedor Kubernetes de Configuração de Aplicativo gera ConfigMaps ou Segredos que podem ser usados como variáveis de ambiente ou arquivos montados em volume. Este tutorial demonstrou como carregar a configuração de um arquivo JSON usando o provedor de configuração JSON do .NET, que recarrega automaticamente a configuração sempre que uma alteração é detectada no arquivo montado. Como resultado, seu aplicativo obtém a configuração atualizada automaticamente sempre que o provedor kubernetes de configuração de aplicativo atualiza o ConfigMap.

Se o aplicativo depender de variáveis de ambiente para configuração, ele poderá exigir uma reinicialização para obter quaisquer valores atualizados. No Kubernetes, a reinicialização do aplicativo pode ser orquestrada usando atualizações sem interrupção nos pods ou contêineres correspondentes. Para automatizar as atualizações de configuração, você pode aproveitar ferramentas de terceiros, como stakater/Reloader, que podem disparar automaticamente atualizações sem interrupção em quaisquer alterações feitas em ConfigMaps ou Segredos.

Próximas etapas

Para saber mais sobre o Provedor de Kubernetes da Configuração de Aplicativos do Azure, confira Referência do Provedor de Kubernetes da Configuração de Aplicativos do Azure.