Share via


Referência do Provedor de Kubernetes da Configuração de Aplicativos do Azure

A referência a seguir descreve as propriedades com suporte no Provedor de Kubernetes de Configuração de Aplicativo do Azure v1.3.0. Consulte as notas de versão para obter mais informações sobre a alteração.

Propriedades

Um recurso AzureAppConfigurationProvider tem as seguintes propriedades filho de nível superior sob o spec. endpoint ou connectionStringReference precisa ser especificado.

Nome Descrição Obrigatório Tipo
endpoint O ponto de extremidade da Configuração de Aplicativos do Azure, do qual você gostaria de recuperar os valores de chave. alternativa string
connectionStringReference O nome do Segredo do Kubernetes que contém a cadeia de conexão da Configuração de Aplicativos do Azure. alternativa string
replicaDiscoveryHabilitado A configuração que determina se as réplicas da Configuração de Aplicativo do Azure são descobertas automaticamente e usadas para failover. Se a propriedade estiver ausente, um valor padrão de true será usado. false bool
destino O destino dos valores-chave recuperados no Kubernetes. true objeto
auth O método de autenticação para acessar a Configuração de Aplicativos do Azure. falso objeto
configuração As configurações para consultar e processar valores de chave na Configuração de Aplicativos do Azure. falso objeto
segredo As configurações das referências do Key Vault na Configuração de Aplicativos do Azure. condicional objeto
featureFlag As configurações para sinalizadores de recurso na Configuração do Aplicativo do Azure. false objeto

A propriedade spec.target tem a propriedade filho a seguir.

Nome Descrição Obrigatório Tipo
configMapName O nome do ConfigMap a ser criado. true string
configMapData A configuração que especifica como os dados recuperados devem ser preenchidos no ConfigMap gerado. falso objeto

Se a spec.target.configMapData propriedade não estiver definida, o ConfigMap gerado será preenchido com a lista de valores-chave recuperados da Configuração do Aplicativo do Azure, o que permite que o ConfigMap seja consumido como variáveis de ambiente. Atualize essa propriedade se desejar consumir o ConfigMap como um arquivo montado. Essa propriedade tem as propriedades filho a seguir.

Nome Descrição Obrigatório Tipo
tipo A configuração que indica como os dados recuperados são construídos no ConfigMap gerado. Os valores permitidos incluem default, json, yaml e properties. opcionais string
chave O nome da chave dos dados recuperados quando o type estiver definido como json, yaml ou properties. Defina-o como o nome do arquivo se o ConfigMap estiver configurado para ser consumido como um arquivo montado. condicional string
separator O delimitador usado para gerar a saída dos dados do ConfigMap em formato hierárquico quando o tipo é definido como json ou yaml. O separador está vazio por padrão e o ConfigMap gerado contém valores-chave em sua forma original. Defina essa configuração somente se o carregador de arquivos de configuração usado em seu aplicativo não puder carregar valores-chave sem convertê-los para o formato hierárquico. opcionais string

A propriedade spec.auth não será necessária se a cadeia de conexão do repositório da Configuração de Aplicativos for fornecida definindo a propriedade spec.connectionStringReference. Caso contrário, uma das identidades, entidade de serviço, identidade de carga de trabalho ou identidade gerenciada será usada para autenticação. O spec.auth tem as propriedades filho a seguir. Apenas uma delas deve ser especificada. Se nenhum deles estiver definido, a identidade gerenciada atribuída pelo sistema do conjunto de dimensionamento de máquina virtual será usada.

Nome Descrição Obrigatório Tipo
servicePrincipalReference O nome do Segredo do Kubernetes que contém as credenciais de uma entidade de serviço. O segredo deve estar no mesmo namespace que o provedor Kubernetes. false string
workloadIdentity As configurações para usar a identidade da carga de trabalho. falso objeto
managedIdentityClientId A ID do cliente da identidade gerenciada atribuída pelo usuário do conjunto de dimensionamento de máquina virtual. falso string

A propriedade spec.auth.workloadIdentity tem as propriedades filho a seguir. Um deles deve ser especificado.

Nome Descrição Obrigatório Tipo
managedIdentityClientId A ID do cliente da identidade gerenciada atribuída pelo usuário associada à identidade da carga de trabalho. alternativa string
managedIdentityClientIdReference O ID do cliente da identidade gerenciada atribuída pelo usuário pode ser obtido de um ConfigMap. O ConfigMap deve estar no mesmo namespace que o provedor Kubernetes. alternativa objeto

A propriedade spec.auth.workloadIdentity.managedIdentityClientIdReference tem as propriedades filho a seguir.

Nome Descrição Obrigatório Tipo
configMap O nome do ConfigMap onde o ID do cliente de uma identidade gerenciada atribuída pelo usuário pode ser encontrado. true string
chave O nome da chave que contém o valor para a ID do cliente de uma identidade gerenciada atribuída pelo usuário. true string

O spec.configuration tem as propriedades filho a seguir.

Nome Descrição Obrigatório Tipo
seletores A lista de seletores para filtragem de valor-chave. falso matriz de objetos
trimKeyPrefixes A lista de prefixos chave a serem cortados. falso Matriz de cadeia de caracteres
refresh As configurações para atualizar valores-chave da Configuração do Aplicativo do Azure. Se a propriedade estiver ausente, os valores-chave da Configuração do Aplicativo do Azure não serão atualizados. false objeto

Se a spec.configuration.selectors propriedade não estiver definida, todos os valores-chave sem rótulo serão baixados. Contém uma matriz de objetos seletores, que têm as propriedades filho a seguir. Observe que os valores-chave do último seletor têm precedência e substituem quaisquer chaves sobrepostas dos seletores anteriores.

Nome Descrição Obrigatório Tipo
keyFilter O filtro chave para consultar valores-chave. Essa propriedade e a snapshotName propriedade não devem ser definidas ao mesmo tempo. alternativa string
labelFilter O filtro de rótulo para consultar valores-chave. Essa propriedade e a snapshotName propriedade não devem ser definidas ao mesmo tempo. false string
snapshotName O nome de um instantâneo a partir do qual os valores-chave são carregados. Essa propriedade não deve ser usada em conjunto com outras propriedades. alternativa string

A propriedade spec.configuration.refresh tem as propriedades filho a seguir.

Nome Descrição Obrigatório Tipo
Habilitado A configuração que determina se os valores-chave da Configuração do Aplicativo do Azure são atualizados automaticamente. Se a propriedade estiver ausente, um valor padrão de false será usado. false bool
monitoramento Os valores-chave monitorados para detecção de alterações, também conhecidos como chaves sentinelas. Os valores-chave da Configuração de Aplicativo do Azure serão atualizados somente se pelo menos um dos valores-chave monitorados for alterado. true objeto
intervalo O intervalo no qual os valores-chave são atualizados da Configuração do Aplicativo do Azure. Ele precisa ser maior ou igual a 1. Se a propriedade estiver ausente, um valor padrão de 30 segundos será usado. false cadeia de caracteres de duração

O spec.configuration.refresh.monitoring.keyValues é uma matriz de objetos que contém as propriedades filho a seguir.

Nome Descrição Obrigatório Tipo
chave A chave de um par chave-valor. true string
label O rótulo de um par chave-valor. falso string

A propriedade spec.secret tem as propriedades filho a seguir. É necessário se alguma referência do Key Vault deve ser baixada. Para saber mais sobre o suporte para tipos internos de Segredos do Kubernetes, consulte Tipos de Segredo.

Nome Descrição Obrigatório Tipo
destino O destino dos segredos recuperados no Kubernetes. true objeto
auth O método de autenticação para acessar Key Vaults. falso objeto
refresh As configurações para atualizar dados de Key Vaults. Se a propriedade estiver ausente, os dados dos Cofres de Chaves não serão atualizados, a menos que as referências correspondentes do Cofre de Chaves sejam recarregadas. false objeto

A propriedade spec.secret.target tem a propriedade filho a seguir.

Nome Descrição Obrigatório Tipo
secretName O nome do Segredo do Kubernetes a ser criado. true string

Se a propriedade spec.secret.auth não estiver definida, a identidade gerenciada atribuída pelo sistema será usada. Ele tem as propriedades filho a seguir.

Nome Descrição Obrigatório Tipo
servicePrincipalReference O nome do Segredo do Kubernetes que contém as credenciais de uma entidade de serviço usadas para autenticação com Key Vaults que não têm métodos de autenticação individuais especificados. falso string
workloadIdentity As configurações da identidade da carga de trabalho usada para autenticação com Key Vaults que não têm métodos de autenticação individuais especificados. Ela tem as mesmas propriedades filho que spec.auth.workloadIdentity. falso objeto
managedIdentityClientId A ID do cliente de uma identidade gerenciada atribuída pelo usuário do conjunto de dimensionamento de máquinas virtuais usado para autenticação com Key Vaults que não têm métodos de autenticação individuais especificados. falso string
keyVaults Os métodos de autenticação para Key Vaults individuais. falso matriz de objetos

O método de autenticação de cada Key Vault pode ser especificado com as propriedades a seguir. Um de managedIdentityClientId, servicePrincipalReference ou workloadIdentity deve ser fornecido.

Nome Descrição Obrigatório Tipo
uri O URI de um Key Vault. true string
servicePrincipalReference O nome do Segredo do Kubernetes que contém as credenciais de uma entidade de serviço usada para autenticação com um Key Vault. falso string
workloadIdentity As configurações da identidade da carga de trabalho usada para autenticação com um Key Vault. Ela tem as mesmas propriedades filho que spec.auth.workloadIdentity. falso objeto
managedIdentityClientId A ID do cliente de uma identidade gerenciada atribuída pelo usuário do conjunto de dimensionamento de máquinas virtuais usado para autenticação com um Key Vault. falso string

A propriedade spec.secret.refresh tem as propriedades filho a seguir.

Nome Descrição Obrigatório Tipo
Habilitado A configuração que determina se os dados de Key Vaults são atualizados automaticamente. Se a propriedade estiver ausente, um valor padrão de false será usado. false bool
intervalo O intervalo no qual os dados são atualizados do Cofre de Chaves. Ele precisa ser maior ou igual a 1 segundo. A atualização do Key Vault é independente da atualização da Configuração de Aplicativos configurada por meio de spec.configuration.refresh. true cadeia de caracteres de duração

A propriedade spec.featureFlag tem as propriedades filho a seguir. Ele é necessário se algum sinalizador de recurso for baixado.

Nome Descrição Obrigatório Tipo
seletores A lista de seletores para filtragem de sinalizador de recurso. false matriz de objetos
refresh As configurações para atualizar sinalizadores de recurso da Configuração do Aplicativo do Azure. Se a propriedade estiver ausente, os sinalizadores de recurso da Configuração do Aplicativo do Azure não serão atualizados. false objeto

Se a spec.featureFlag.selectors propriedade não estiver definida, os sinalizadores de recurso não serão baixados. Contém uma matriz de objetos seletores, que têm as propriedades filho a seguir. Observe que os sinalizadores de recurso do último seletor têm precedência e substituem quaisquer teclas sobrepostas dos seletores anteriores.

Nome Descrição Obrigatório Tipo
keyFilter O filtro de chave para consultar sinalizadores de recurso. Essa propriedade e a snapshotName propriedade não devem ser definidas ao mesmo tempo. alternativa string
labelFilter O filtro de rótulo para consultar sinalizadores de recurso. Essa propriedade e a snapshotName propriedade não devem ser definidas ao mesmo tempo. false string
snapshotName O nome de um instantâneo a partir do qual os sinalizadores de recurso são carregados. Essa propriedade não deve ser usada em conjunto com outras propriedades. alternativa string

A propriedade spec.featureFlag.refresh tem as propriedades filho a seguir.

Nome Descrição Obrigatório Tipo
Habilitado A configuração que determina se os sinalizadores de recurso da Configuração do Aplicativo do Azure são atualizados automaticamente. Se a propriedade estiver ausente, um valor padrão de false será usado. false bool
intervalo O intervalo no qual os sinalizadores de recurso são atualizados da Configuração do Aplicativo do Azure. Ele precisa ser maior ou igual a 1. Se a propriedade estiver ausente, um valor padrão de 30 segundos será usado. false cadeia de caracteres de duração

Instalação

Use o comando a seguir helm install para instalar o Provedor de Kubernetes de Configuração de Aplicativo do Azure. Consulte helm-values.yaml para obter a lista completa de parâmetros e seus valores padrão. Você pode substituir os valores padrão passando o --set sinalizador para o comando.

helm install azureappconfiguration.kubernetesprovider \
    oci://mcr.microsoft.com/azure-app-configuration/helmchart/kubernetes-provider \
    --namespace azappconfig-system \
    --create-namespace

Dimensionamento automático

Por padrão, o dimensionamento automático está desabilitado. No entanto, se você tiver vários AzureAppConfigurationProvider recursos para produzir vários ConfigMaps/Secrets, poderá habilitar o dimensionamento automático de pod horizontal definindo autoscaling.enabled como true.

Exemplos

Autenticação

Usar a identidade gerenciada atribuída pelo sistema de um conjunto de dimensionamento de máquinas virtuais

  1. Habilite a identidade gerenciada atribuída pelo sistema no conjunto de dimensionamento de máquinas virtuais usado pelo cluster do Serviço de Kubernetes do Azure (AKS).

  2. Conceda a função de Leitor de Dados da Configuração de Aplicativos da identidade gerenciada atribuída pelo sistema na Configuração de Aplicativos do Azure.

  3. Implante o recurso de amostra AzureAppConfigurationProvider a seguir no cluster do AKS.

    apiVersion: azconfig.io/v1
    kind: AzureAppConfigurationProvider
    metadata:
      name: appconfigurationprovider-sample
    spec:
      endpoint: <your-app-configuration-store-endpoint>
      target:
        configMapName: configmap-created-by-appconfig-provider
    

Usar a identidade gerenciada atribuída pelo usuário de um conjunto de dimensionamento de máquinas virtuais

  1. Crie uma identidade gerenciada atribuída pelo usuário e anote sua ID de cliente após a criação.

  2. Atribua a identidade gerenciada atribuída pelo usuário ao conjunto de dimensionamento de máquinas virtuais usado pelo cluster do Serviço de Kubernetes do Azure (AKS).

  3. Conceda a função de Leitor de Dados de Configuração de Aplicativos da identidade gerenciada atribuída pelo sistema na Configuração de Aplicativos do Azure.

  4. Defina a propriedade spec.auth.managedIdentityClientId como a ID do cliente da identidade gerenciada atribuída pelo usuário no recurso de amostra AzureAppConfigurationProvider a seguir e implante-a no cluster do AKS.

    apiVersion: azconfig.io/v1
    kind: AzureAppConfigurationProvider
    metadata:
      name: appconfigurationprovider-sample
    spec:
      endpoint: <your-app-configuration-store-endpoint>
      target:
        configMapName: configmap-created-by-appconfig-provider
      auth:
        managedIdentityClientId: <your-managed-identity-client-id>
    

Usar a entidade de serviço

  1. Criar uma entidade de serviço

  2. Conceda à entidade de serviço a função de Leitor de Dados de Configuração de Aplicativo na Configuração de Aplicativos do Azure.

  3. Crie um Segredo do Kubernetes no mesmo namespace que o recurso AzureAppConfigurationProvider e adicione azure_client_id, azure_client_secret e azure_tenant_id da entidade de serviço ao Segredo.

  4. Defina a propriedade spec.auth.servicePrincipalReference como o nome do Segredo no recurso de amostra AzureAppConfigurationProvider a seguir e implante-a no cluster do Kubernetes.

    apiVersion: azconfig.io/v1
    kind: AzureAppConfigurationProvider
    metadata:
      name: appconfigurationprovider-sample
    spec:
      endpoint: <your-app-configuration-store-endpoint>
      target:
        configMapName: configmap-created-by-appconfig-provider
      auth:
        servicePrincipalReference: <your-service-principal-secret-name>
    

Usar a identidade da carga de trabalho

  1. Habilite a Identidade da Carga de Trabalho no cluster do AKS (Serviço de Kubernetes do Azure).

  2. Obtenha o URL do emissor do OIDC do cluster do AKS.

  3. Crie uma identidade gerenciada atribuída pelo usuário e anote sua ID de cliente após a criação.

  4. Crie a credencial de identidade federada entre a identidade gerenciada, o emissor do OIDC e o assunto usando o comando a CLI do Azure.

    az identity federated-credential create --name "${FEDERATED_IDENTITY_CREDENTIAL_NAME}" --identity-name "${USER_ASSIGNED_IDENTITY_NAME}" --resource-group "${RESOURCE_GROUP}" --issuer "${AKS_OIDC_ISSUER}" --subject system:serviceaccount:azappconfig-system:az-appconfig-k8s-provider --audience api://AzureADTokenExchange
    
  5. Conceda a função de Leitor de Dados de Configuração de Aplicativos da identidade gerenciada atribuída pelo sistema na Configuração de Aplicativos do Azure.

  6. Defina a propriedade spec.auth.workloadIdentity.managedIdentityClientId como a ID do cliente da identidade gerenciada atribuída pelo usuário no recurso de amostra AzureAppConfigurationProvider a seguir e implante-a no cluster do AKS.

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

Usar a cadeia de conexão

  1. Crie um Segredo do Kubernetes no mesmo namespace que o recurso AzureAppConfigurationProvider e adicione a cadeia de conexão da Configuração de Aplicativos do Azure com a chave azure_app_configuration_connection_string no Segredo.

  2. Defina a propriedade spec.connectionStringReference como o nome do Segredo no recurso de amostra AzureAppConfigurationProvider a seguir e implante-a no cluster do Kubernetes.

    apiVersion: azconfig.io/v1
    kind: AzureAppConfigurationProvider
    metadata:
      name: appconfigurationprovider-sample
    spec:
      connectionStringReference: <your-connection-string-secret-name>
      target:
        configMapName: configmap-created-by-appconfig-provider
    

Seleção de valor-chave

Use a propriedade selectors para filtrar os valores-chave a serem baixados da Configuração de Aplicativos do Azure.

A amostra a seguir baixa todos os valores-chave sem rótulo.

apiVersion: azconfig.io/v1
kind: AzureAppConfigurationProvider
metadata:
  name: appconfigurationprovider-sample
spec:
  endpoint: <your-app-configuration-store-endpoint>
  target:
    configMapName: configmap-created-by-appconfig-provider

No exemplo a seguir, dois seletores são usados para recuperar dois conjuntos de valores-chave, cada um com rótulos exclusivos. É importante observar que os valores do último seletor têm precedência e substituem as chaves sobrepostas dos seletores anteriores.

apiVersion: azconfig.io/v1
kind: AzureAppConfigurationProvider
metadata:
  name: appconfigurationprovider-sample
spec:
  endpoint: <your-app-configuration-store-endpoint>
  target:
    configMapName: configmap-created-by-appconfig-provider
  configuration:
    selectors:
      - keyFilter: app1*
        labelFilter: common
      - keyFilter: app1*
        labelFilter: development

Um snapshot pode ser usado sozinho ou em conjunto com outros seletores de chave-valor. No exemplo a seguir, você carrega valores-chave de configuração comum de um instantâneo e, em seguida, substitui alguns deles por valores-chave para desenvolvimento.

apiVersion: azconfig.io/v1
kind: AzureAppConfigurationProvider
metadata:
  name: appconfigurationprovider-sample
spec:
  endpoint: <your-app-configuration-store-endpoint>
  target:
    configMapName: configmap-created-by-appconfig-provider
  configuration:
    selectors:
      - snapshotName: app1_common_configuration
      - keyFilter: app1*
        labelFilter: development

Corte de prefixo de chave

A amostra a seguir usa a propriedade trimKeyPrefixes para cortar dois prefixos de nomes-chave antes de adicioná-los ao ConfigMap gerado.

apiVersion: azconfig.io/v1
kind: AzureAppConfigurationProvider
metadata:
  name: appconfigurationprovider-sample
spec:
  endpoint: <your-app-configuration-store-endpoint>
  target:
    configMapName: configmap-created-by-appconfig-provider
  configuration:
    trimKeyPrefixes: [prefix1, prefix2]

Atualização de configuração

Ao fazer alterações nos dados na Configuração de Aplicativos do Azure, talvez você queira que essas alterações sejam atualizadas automaticamente no cluster do Kubernetes. É comum atualizar vários valores de chave, mas você não deseja que o cluster pegue uma alteração no meio da atualização. Para manter a consistência da configuração, você pode usar uma chave-valor para sinalizar a conclusão da atualização. Essa chave-valor é conhecida como a chave sentinela. O provedor do Kubernetes pode monitorar esse valor-chave. O ConfigMap e o Segredo só serão regenerados com dados atualizados depois que uma alteração for detectada na chave sentinela.

No exemplo a seguir, um valor-chave chamado app1_sentinel é sondado a cada minuto e a configuração é atualizada sempre que as alterações são detectadas na chave sentinela.

apiVersion: azconfig.io/v1
kind: AzureAppConfigurationProvider
metadata:
  name: appconfigurationprovider-sample
spec:
  endpoint: <your-app-configuration-store-endpoint>
  target:
    configMapName: configmap-created-by-appconfig-provider
  configuration:
    selectors:
      - keyFilter: app1*
        labelFilter: common
    refresh:
      enabled: true
      interval: 1m
      monitoring:
        keyValues:
          - key: app1_sentinel
            label: common

Referências de Key Vault

Autenticação

No exemplo a seguir, um Key Vault é autenticado com uma entidade de serviço, enquanto todos os outros Key Vaults são autenticados com uma identidade gerenciada atribuída pelo usuário.

apiVersion: azconfig.io/v1
kind: AzureAppConfigurationProvider
metadata:
  name: appconfigurationprovider-sample
spec:
  endpoint: <your-app-configuration-store-endpoint>
  target:
    configMapName: configmap-created-by-appconfig-provider
  configuration:
    selectors:
      - keyFilter: app1*
  secret:
    target:
      secretName: secret-created-by-appconfig-provider
    auth:
      managedIdentityClientId: <your-user-assigned-managed-identity-client-id>
      keyVaults:
        - uri: <your-key-vault-uri>
          servicePrincipalReference: <name-of-secret-containing-service-principal-credentials>

Tipos de Segredo

Dois tipos internos de segredos do Kubernetes, Opaco e TLS, são atualmente suportados. Os segredos resolvidos a partir de referências do Cofre de Chaves são salvos como o tipo Segredo Opaco por padrão. Se você tiver uma referência do Cofre de Chaves a um certificado e quiser salvá-lo como o tipo Segredo TLS, poderá adicionar uma marca com o seguinte nome e valor à referência do Cofre de Chaves na Configuração do Aplicativo do Azure. Ao fazer isso, um Segredo com o kubernetes.io/tls tipo será gerado e nomeado após a chave da referência do Cofre de Chaves.

Nome Valor
.kubernetes.secret.type kubernetes.io/tls

Atualização de segredos do Key Vault

A atualização de segredos dos Key Vaults geralmente requer o recarregamento das referências de Key Vault correspondentes de Configuração de Aplicativos do Azure. No entanto, com a propriedade spec.secret.refresh, você pode atualizar os segredos de Key Vault independentemente. Isso é especialmente útil para garantir que sua carga de trabalho pegue automaticamente todos os segredos atualizados de Key Vault durante a rotação de segredos. Observe que, para carregar a versão mais recente de um segredo, a referência de Key Vault não deve ser um segredo com controle de versão.

O exemplo a seguir atualiza todos os segredos sem controle de versão de Key Vault a cada hora.

apiVersion: azconfig.io/v1
kind: AzureAppConfigurationProvider
metadata:
  name: appconfigurationprovider-sample
spec:
  endpoint: <your-app-configuration-store-endpoint>
  target:
    configMapName: configmap-created-by-appconfig-provider
  configuration:
    selectors:
      - keyFilter: app1*
        labelFilter: common
  secret:
    target:
      secretName: secret-created-by-appconfig-provider
    auth:
      managedIdentityClientId: <your-user-assigned-managed-identity-client-id>
    refresh:
      enabled: true
      interval: 1h

Sinalizadores de recursos

No exemplo a seguir, sinalizadores de recursos com chaves começando com app1 e rótulos equivalentes a são baixados e atualizados a common cada 10 minutos.

apiVersion: azconfig.io/v1
kind: AzureAppConfigurationProvider
metadata:
  name: appconfigurationprovider-sample
spec:
  endpoint: <your-app-configuration-store-endpoint>
  target:
    configMapName: configmap-created-by-appconfig-provider
  featureFlag:
    selectors:
      - keyFilter: app1*
        labelFilter: common
    refresh:
      enabled: true
      interval: 10m

Consumo de ConfigMap

Os aplicativos em execução no Kubernetes normalmente consomem o ConfigMap como variáveis de ambiente ou como arquivos de configuração. Se a propriedade configMapData.type estiver ausente ou estiver definida como padrão, o ConfigMap será preenchido com a lista detalhada de dados recuperados da Configuração de Aplicativos do Azure, que podem ser facilmente consumidos como variáveis de ambiente. Se a propriedade configMapData.type estiver definida como json, yaml ou propriedades, os dados recuperados da Configuração de Aplicativos do Azure serão agrupados em um item com o nome da chave especificado pela propriedade configMapData.key no ConfigMap gerado, que pode ser consumido como um arquivo montado.

Os exemplos a seguir mostram como os dados são preenchidos no ConfigMap gerado com as configurações diferentes da propriedade configMapData.type.

Supondo que um repositório da Configuração de Aplicativos tenha estas chaves-valores:

chave value
key1 value1
chave2 value2
key3 value3

E a configMapData.type propriedade está ausente ou definida como default,

apiVersion: azconfig.io/v1
kind: AzureAppConfigurationProvider
metadata:
  name: appconfigurationprovider-sample
spec:
  endpoint: <your-app-configuration-store-endpoint>
  target:
    configMapName: configmap-created-by-appconfig-provider

O ConfigMap gerado é preenchido com os seguintes dados:

data:
  key1: value1
  key2: value2
  key3: value3