Partilhar via


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

Se você usa o Serviço Kubernetes do Azure (AKS), este tutorial mostra como habilitar a configuração dinâmica para suas cargas de trabalho no AKS aproveitando a Configuração de Aplicativo do Azure e seu Provedor Kubernetes. O tutorial pressupõe que você trabalhe com o início rápido e tenha um Provedor Kubernetes de Configuração de Aplicativo configurado, portanto, antes de continuar, certifique-se de concluir o início rápido Usar Configuração de Aplicativo do Azure no Serviço Kubernetes do Azure .

Sugestão

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

Pré-requisitos

Concluir o guia de início rápido: Utilizar o Azure App Configuration no Azure Kubernetes Service.

Recarregar dados da Configuração do Aplicativo

  1. Abra o arquivo appConfigurationProvider.yaml localizado no diretório Deployment . Em seguida, adicione a refresh seção sob a configuration propriedade. Ele permite que o provedor Kubernetes recarregue toda a configuração sempre que detetar uma alteração em qualquer um dos valores-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 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
    

    Sugestão

    Você pode definir a propriedade interval 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 precisar reduzir o número de solicitações feitas à sua App Configuration Store.

  2. Abra o arquivo deployment.yaml no diretório Deployment e adicione o seguinte conteúdo à spec.containers seção. A sua aplicação carrega a configuração de um ficheiro montado num volume gerado pelo fornecedor de Kubernetes da Configuração da Aplicação. 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 seguinte comando 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 Web tem o seguinte aspeto:

    Captura de ecrã da aplicação Web com valores antigos.

  5. Atualize os seguintes valores-chave na sua loja de Configuração de Aplicações.

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

    Captura de ecrã da aplicação Web com valores atualizados.

Recarregar ConfigMap e Secret

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 .NET, que recarrega automaticamente a configuração sempre que uma alteração é detetada no arquivo montado. Como resultado, seu aplicativo obtém a configuração atualizada automaticamente sempre que o provedor Kubernetes de Configuração do Aplicativo atualiza o ConfigMap.

Se o seu aplicativo depender de variáveis de ambiente para configuração, ele pode exigir uma reinicialização para pegar quaisquer valores atualizados. No Kubernetes, a reinicialização do aplicativo pode ser orquestrada usando atualizações contínuas 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 acionar automaticamente atualizações contínuas após quaisquer alterações feitas no ConfigMaps ou no Secrets.

Próximos passos

Para saber mais sobre o Provedor Kubernetes de Configuração de Aplicativo do Azure, consulte Referência do Provedor Kubernetes de Configuração de Aplicativo do Azure.