Compartilhar via


Mapas de configuração para instâncias de contêiner do Azure

Um mapa de configuração é uma propriedade que você pode usar para aplicar configurações de contêiner semelhantes a variáveis de ambiente e volumes secretos. O processo é diferente do uso de variáveis de ambiente ou volumes secretos em que você deve reiniciar o pod para aplicar as configurações. Usar um mapa de configuração para aplicar configurações não requer nenhuma reinicialização para que as alterações entrem em vigor.

Você pode usar instâncias de contêiner do Azure para criar instâncias de contêiner com ou sem mapas de configuração. Você também pode atualizá-los a qualquer momento após a criação usando mapas de configuração. Atualizar mapas de configuração em um grupo de contêineres em execução existente é uma tarefa que você pode realizar rapidamente sem comprometer o tempo de atividade do contêiner.

Como ele funciona

Você pode incluir um mapa de configuração nas propriedades do contêiner ou em um perfil de grupo de contêineres. Criar um perfil de grupo de contêineres com as configurações do mapa de configuração torna a aplicação dessas configurações simples e fácil de automatizar.

Criar um perfil de grupo de contêineres com as configurações do mapa de configuração

Crie um perfil de grupo de contêineres com configurações do mapa usando az container container-group-profile create.

az container container-group-profile create \
    --resource-group myResourceGroup \
    --name myContainerGroupProfile \
    --location WestCentralUS \
    --image nginx \
    --os-type Linux \ 
    --ip-address Public \ 
    --ports 8000 \ 
    --cpu 1 \
    --memory 1.5 \
    --restart-policy never \
    --config-map key1=value1 key2=value2

Aplicar o mapa de configuração usando o perfil do grupo de contêineres

A aplicação das configurações de mapa de configuração armazenadas em um perfil de grupo de contêineres exige que você atualize o contêiner. Você também deve especificar o perfil do grupo de contêineres que deve ser associado à atualização.

Aplique as configurações de mapa de configuração armazenadas no perfil do grupo de contêineres usando az container create.

az container create 
        --resource-group myResourceGroup \ 
        --name myContainer \ 
        --location WestCentralUS \
        --container-group-profile-id "/subscriptions/{SubscriptionID}/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroupProfiles/myContainerGroupProfile" \
        --container-group-profile-revision 1 

Aplicar configurações do mapa de configuração sem o perfil do grupo de contêineres

Você também pode aplicar configurações de mapa de configuração diretamente à instância especificando as configurações de mapa de configuração nos comandos de criação.

Aplique as configurações de mapa de configuração usando az container create.

az container create \
    --resource-group myResourceGroup \ 
    --name myContainer \
    --location WestCentralUS \ 
    --config-map key1=value1 key2=value2 
        

Mapas de configuração em contêineres do Linux

Depois que a atualização for aplicada a um contêiner existente, você verá os valores montados no contêiner do Linux sem a necessidade de uma reinicialização.

/mnt/configmap/<containername>/key1 with value as "value1"

/mnt/configmap/<containername>/key2 with value as "value2"

Mapas de configuração em contêineres do Windows

Depois que a atualização é aplicada a um contêiner existente, você pode buscar os pares chave/valor do mapa de configuração no contêiner do Windows fazendo a chamada a seguir, sem a necessidade de uma reinicialização. Esses valores não são montados em nenhum lugar para contêineres do Windows, como é o caso do Linux.

Invoke-Expression "$Env:ConfigMapURI"