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
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).
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.
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
Crie uma identidade gerenciada atribuída pelo usuário e anote sua ID de cliente após a criação.
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).
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.
Defina a propriedade
spec.auth.managedIdentityClientId
como a ID do cliente da identidade gerenciada atribuída pelo usuário no recurso de amostraAzureAppConfigurationProvider
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
Conceda à entidade de serviço a função de Leitor de Dados de Configuração de Aplicativo na Configuração de Aplicativos do Azure.
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.Defina a propriedade
spec.auth.servicePrincipalReference
como o nome do Segredo no recurso de amostraAzureAppConfigurationProvider
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
Habilite a Identidade da Carga de Trabalho no cluster do AKS (Serviço de Kubernetes do Azure).
Obtenha o URL do emissor do OIDC do cluster do AKS.
Crie uma identidade gerenciada atribuída pelo usuário e anote sua ID de cliente após a criação.
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
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.
Defina a propriedade
spec.auth.workloadIdentity.managedIdentityClientId
como a ID do cliente da identidade gerenciada atribuída pelo usuário no recurso de amostraAzureAppConfigurationProvider
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
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.Defina a propriedade
spec.connectionStringReference
como o nome do Segredo no recurso de amostraAzureAppConfigurationProvider
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. Observe que, para preencher sinalizadores de feição no ConfigMap gerado, a configMapData.type
propriedade deve ser json
ou yaml
.
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: appSettings.json
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