Share via


Informazioni di riferimento sul provider Kubernetes di configurazione app Azure

Il riferimento seguente illustra le proprietà supportate dal provider Kubernetes v1.3.0di configurazione app Azure . Per altre informazioni sulla modifica, vedere le note sulla versione.

Proprietà

Una AzureAppConfigurationProvider risorsa ha le proprietà figlio di primo livello seguenti in spec. È endpoint necessario specificare o connectionStringReference .

Nome Descrizione Richiesto Type
endpoint Endpoint di app Azure Configuration, da cui recuperare i valori chiave. Alternativa string
connectionStringReference Nome del segreto Kubernetes che contiene app Azure stringa di connessione di configurazione. Alternativa string
replicaDiscoveryEnabled Impostazione che determina se le repliche di app Azure Configuration vengono individuate automaticamente e usate per il failover. Se la proprietà è assente, viene utilizzato un valore predefinito di true . false bool
bersaglio Destinazione dei valori chiave recuperati in Kubernetes. true oggetto
auth Metodo di autenticazione per accedere a app Azure Configuration. false oggetto
configurazione Impostazioni per l'esecuzione di query e l'elaborazione di valori chiave in app Azure Configurazione. false oggetto
secret Le impostazioni per i riferimenti a Key Vault in app Azure Configurazione. conditional oggetto
featureFlag Impostazioni per i flag di funzionalità nella configurazione di app Azure. false oggetto

La spec.target proprietà ha la proprietà figlio seguente.

Nome Descrizione Richiesto Type
configMapName Nome dell'oggetto ConfigMap da creare. true string
configMapData Impostazione che specifica la modalità di popolamento dei dati recuperati nell'oggetto ConfigMap generato. false oggetto

Se la spec.target.configMapData proprietà non è impostata, l'oggetto ConfigMap generato viene popolato con l'elenco di valori chiave recuperati da app Azure Configuration, che consente l'utilizzo di ConfigMap come variabili di ambiente. Aggiornare questa proprietà se si desidera utilizzare ConfigMap come file montato. Questa proprietà ha le proprietà figlio seguenti.

Nome Descrizione Richiesto Type
type Impostazione che indica come vengono costruiti i dati recuperati nell'oggetto ConfigMap generato. I valori consentiti includono default, jsonyaml e properties. facoltative string
key Nome della chiave dei dati recuperati quando type è impostato su jsono yamlproperties. Impostarlo sul nome del file se ConfigMap è configurato per essere utilizzato come file montato. conditional string
separator Delimitatore utilizzato per restituire i dati ConfigMap in formato gerarchico quando il tipo è impostato su json o yaml. Il separatore è vuoto per impostazione predefinita e l'oggetto ConfigMap generato contiene i valori chiave nel formato originale. Configurare questa impostazione solo se il caricatore di file di configurazione usato nell'applicazione non può caricare i valori chiave senza convertirli nel formato gerarchico. facoltative string

La spec.auth proprietà non è necessaria se la stringa di connessione dell'archivio Configurazione app viene fornita impostando la spec.connectionStringReference proprietà . In caso contrario, per l'autenticazione viene usata una delle identità, dell'entità servizio, dell'identità del carico di lavoro o dell'identità gestita. ha spec.auth le proprietà figlio seguenti. È necessario specificare solo uno di essi. Se nessuno di essi è impostato, viene usata l'identità gestita assegnata dal sistema del set di scalabilità di macchine virtuali.

Nome Descrizione Richiesto Type
servicePrincipalReference Nome del segreto Kubernetes che contiene le credenziali di un'entità servizio. Il segreto deve trovarsi nello stesso spazio dei nomi del provider Kubernetes. false string
workloadIdentity Impostazioni per l'uso dell'identità del carico di lavoro. false oggetto
managedIdentityClientId ID client dell'identità gestita assegnata dall'utente del set di scalabilità di macchine virtuali. false string

La spec.auth.workloadIdentity proprietà ha le proprietà figlio seguenti. È necessario specificarne una.

Nome Descrizione Richiesto Type
managedIdentityClientId ID client dell'identità gestita assegnata dall'utente associata all'identità del carico di lavoro. Alternativa string
managedIdentityClientIdReference L'ID client dell'identità gestita assegnata dall'utente può essere ottenuto da un oggetto ConfigMap. ConfigMap deve trovarsi nello stesso spazio dei nomi del provider Kubernetes. Alternativa oggetto

La spec.auth.workloadIdentity.managedIdentityClientIdReference proprietà ha le proprietà figlio seguenti.

Nome Descrizione Richiesto Type
configMap Nome dell'oggetto ConfigMap in cui è possibile trovare l'ID client di un'identità gestita assegnata dall'utente. true string
key Nome della chiave che contiene il valore per l'ID client di un'identità gestita assegnata dall'utente. true string

ha spec.configuration le proprietà figlio seguenti.

Nome Descrizione Richiesto Type
Selettori Elenco di selettori per il filtro chiave-valore. false matrice di oggetti
trimKeyPrefixes Elenco di prefissi chiave da tagliare. false Matrice di stringhe
refresh Impostazioni per l'aggiornamento dei valori chiave da app Azure Configurazione. Se la proprietà è assente, i valori chiave di app Azure Configuration non vengono aggiornati. false oggetto

Se la spec.configuration.selectors proprietà non è impostata, vengono scaricati tutti i valori chiave senza etichetta. Contiene una matrice di oggetti selettore , che hanno le proprietà figlio seguenti. Si noti che i valori chiave dell'ultimo selettore hanno la precedenza ed eseguono l'override di eventuali chiavi sovrapposte dai selettori precedenti.

Nome Descrizione Richiesto Type
keyFilter Filtro della chiave per l'esecuzione di query sui valori chiave. Questa proprietà e la snapshotName proprietà non devono essere impostate contemporaneamente. Alternativa string
labelFilter Filtro dell'etichetta per l'esecuzione di query sui valori chiave. Questa proprietà e la snapshotName proprietà non devono essere impostate contemporaneamente. false string
snapshotName Nome di uno snapshot da cui vengono caricati i valori chiave. Questa proprietà non deve essere utilizzata insieme ad altre proprietà. Alternativa string

La spec.configuration.refresh proprietà ha le proprietà figlio seguenti.

Nome Descrizione Richiesto Type
Enabled Impostazione che determina se i valori chiave di app Azure Configuration vengono aggiornati automaticamente. Se la proprietà è assente, viene utilizzato un valore predefinito di false . false bool
Monitoraggio I valori chiave monitorati per il rilevamento delle modifiche, ovvero le chiavi sentinel. I valori chiave di app Azure Configuration vengono aggiornati solo se viene modificato almeno uno dei valori chiave monitorati. true oggetto
interval Intervallo in cui i valori chiave vengono aggiornati da app Azure Configurazione. Deve essere maggiore o uguale a 1 secondo. Se la proprietà è assente, viene utilizzato un valore predefinito di 30 secondi. false stringa di durata

spec.configuration.refresh.monitoring.keyValues è una matrice di oggetti con le proprietà figlio seguenti.

Nome Descrizione Richiesto Type
key Chiave di un valore chiave. true string
label Etichetta di un valore chiave. false string

La spec.secret proprietà ha le proprietà figlio seguenti. È necessario se è previsto che vengano scaricati riferimenti a Key Vault. Per altre informazioni sul supporto per i tipi predefiniti di segreti kubernetes, vedere Tipi di segreti.

Nome Descrizione Richiesto Type
bersaglio Destinazione dei segreti recuperati in Kubernetes. true oggetto
auth Metodo di autenticazione per accedere agli insiemi di credenziali delle chiavi. false oggetto
refresh Impostazioni per l'aggiornamento dei dati dagli insiemi di credenziali delle chiavi. Se la proprietà è assente, i dati di Key Vault non vengono aggiornati a meno che non vengano ricaricati i riferimenti di Key Vault corrispondenti. false oggetto

La spec.secret.target proprietà ha la proprietà figlio seguente.

Nome Descrizione Richiesto Type
secretName Nome del segreto Kubernetes da creare. true string

Se la spec.secret.auth proprietà non è impostata, viene usata l'identità gestita assegnata dal sistema. Ha le proprietà figlio seguenti.

Nome Descrizione Richiesto Type
servicePrincipalReference Nome del segreto Kubernetes che contiene le credenziali di un'entità servizio usata per l'autenticazione con Key Vault che non dispongono di singoli metodi di autenticazione specificati. false string
workloadIdentity Impostazioni dell'identità del carico di lavoro usata per l'autenticazione con Key Vault che non dispongono di singoli metodi di autenticazione specificati. Ha le stesse proprietà figlio di spec.auth.workloadIdentity. false oggetto
managedIdentityClientId ID client di un'identità gestita assegnata dall'utente del set di scalabilità di macchine virtuali usato per l'autenticazione con Key Vault che non dispongono di singoli metodi di autenticazione specificati. false string
keyVaults Metodi di autenticazione per singoli insiemi di credenziali delle chiavi. false matrice di oggetti

Il metodo di autenticazione di ogni insieme di credenziali delle chiavi può essere specificato con le proprietà seguenti. È necessario specificare uno di managedIdentityClientIdo servicePrincipalReferenceworkloadIdentity .

Nome Descrizione Richiesto Type
uri URI di un insieme di credenziali delle chiavi. true string
servicePrincipalReference Nome del segreto Kubernetes che contiene le credenziali di un'entità servizio usata per l'autenticazione con un insieme di credenziali delle chiavi. false string
workloadIdentity Impostazioni dell'identità del carico di lavoro usata per l'autenticazione con un insieme di credenziali delle chiavi. Ha le stesse proprietà figlio di spec.auth.workloadIdentity. false oggetto
managedIdentityClientId ID client di un'identità gestita assegnata dall'utente del set di scalabilità di macchine virtuali usato per l'autenticazione con un insieme di credenziali delle chiavi. false string

La spec.secret.refresh proprietà ha le proprietà figlio seguenti.

Nome Descrizione Richiesto Type
Enabled Impostazione che determina se i dati di Key Vault vengono aggiornati automaticamente. Se la proprietà è assente, viene utilizzato un valore predefinito di false . false bool
interval Intervallo in cui i dati vengono aggiornati da Key Vault. Deve essere maggiore o uguale a 1 minuto. L'aggiornamento dell'insieme di credenziali delle chiavi è indipendente dal Configurazione app aggiornamento configurato tramite spec.configuration.refresh. true stringa di durata

La spec.featureFlag proprietà ha le proprietà figlio seguenti. È necessario se è previsto il download di eventuali flag di funzionalità.

Nome Descrizione Richiesto Type
Selettori Elenco di selettori per il filtro dei flag di funzionalità. false matrice di oggetti
refresh Impostazioni per l'aggiornamento dei flag di funzionalità da app Azure Configurazione. Se la proprietà è assente, i flag di funzionalità di app Azure Configurazione non vengono aggiornati. false oggetto

Se la spec.featureFlag.selectors proprietà non è impostata, i flag di funzionalità non vengono scaricati. Contiene una matrice di oggetti selettore , che hanno le proprietà figlio seguenti. Si noti che i flag di funzionalità dell'ultimo selettore hanno la precedenza ed eseguono l'override di eventuali chiavi sovrapposte dai selettori precedenti.

Nome Descrizione Richiesto Type
keyFilter Filtro delle chiavi per l'esecuzione di query sui flag di funzionalità. Questa proprietà e la snapshotName proprietà non devono essere impostate contemporaneamente. Alternativa string
labelFilter Filtro delle etichette per l'esecuzione di query sui flag di funzionalità. Questa proprietà e la snapshotName proprietà non devono essere impostate contemporaneamente. false string
snapshotName Nome di uno snapshot da cui vengono caricati i flag di funzionalità. Questa proprietà non deve essere utilizzata insieme ad altre proprietà. Alternativa string

La spec.featureFlag.refresh proprietà ha le proprietà figlio seguenti.

Nome Descrizione Richiesto Type
Enabled Impostazione che determina se i flag di funzionalità di app Azure Configurazione vengono aggiornati automaticamente. Se la proprietà è assente, viene utilizzato un valore predefinito di false . false bool
interval Intervallo in cui i flag di funzionalità vengono aggiornati da app Azure Configurazione. Deve essere maggiore o uguale a 1 secondo. Se la proprietà è assente, viene utilizzato un valore predefinito di 30 secondi. false stringa di durata

Installazione

Usare il comando seguente helm install per installare il provider Kubernetes di configurazione app Azure. Per l'elenco completo dei parametri e dei relativi valori predefiniti, vedere helm-values.yaml . È possibile eseguire l'override dei valori predefiniti passando il --set flag al comando .

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

Scalabilità automatica

Per impostazione predefinita, la scalabilità automatica è disabilitata. Tuttavia, se si dispone di più AzureAppConfigurationProvider risorse per produrre più configurazioni Mappe/segreti, è possibile abilitare la scalabilità automatica orizzontale dei pod impostando autoscaling.enabled su true.

Esempi

Autenticazione

Usare l'identità gestita assegnata dal sistema del set di scalabilità di macchine virtuali

  1. Abilitare l'identità gestita assegnata dal sistema nel set di scalabilità di macchine virtuali usato dal cluster del servizio Azure Kubernetes (servizio Azure Kubernetes).

  2. Concedere l'identità gestita assegnata dal sistema Configurazione app ruolo Lettore dati in configurazione app Azure.

  3. Distribuire la risorsa di esempio AzureAppConfigurationProvider seguente nel cluster del servizio Azure 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
    

Usare l'identità gestita assegnata dall'utente del set di scalabilità di macchine virtuali

  1. Creare un'identità gestita assegnata dall'utente e annotare l'ID client dopo la creazione.

  2. Assegnare l'identità gestita assegnata dall'utente al set di scalabilità di macchine virtuali usato dal cluster servizio Azure Kubernetes (servizio Azure Kubernetes).

  3. Concedere l'identità gestita assegnata dall'utente Configurazione app ruolo Lettore dati in configurazione app Azure.

  4. Impostare la spec.auth.managedIdentityClientId proprietà sull'ID client dell'identità gestita assegnata dall'utente nella risorsa di esempio AzureAppConfigurationProvider seguente e distribuirla nel cluster del servizio Azure 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:
        managedIdentityClientId: <your-managed-identity-client-id>
    

Usare l'entità servizio

  1. Creare un'entità servizio

  2. Concedere all'entità servizio Configurazione app ruolo Lettore dati in configurazione app Azure.

  3. Creare un segreto Kubernetes nello stesso spazio dei nomi della AzureAppConfigurationProvider risorsa e aggiungere azure_client_id, azure_client_secret e azure_tenant_id dell'entità servizio al segreto.

  4. Impostare la spec.auth.servicePrincipalReference proprietà sul nome del segreto nella risorsa di esempio AzureAppConfigurationProvider seguente e distribuirla nel cluster 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>
    

Usare l'identità del carico di lavoro

  1. Abilitare l'identità del carico di lavoro nel cluster servizio Azure Kubernetes (servizio Azure Kubernetes).

  2. Ottenere l'URL dell'autorità di certificazione OIDC del cluster del servizio Azure Kubernetes.

  3. Creare un'identità gestita assegnata dall'utente e annotare l'ID client dopo la creazione.

  4. Creare le credenziali dell'identità federata tra l'identità gestita, l'emittente OIDC e l'oggetto usando l'interfaccia della riga di comando di 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. Concedere l'identità gestita assegnata dall'utente Configurazione app ruolo Lettore dati in configurazione app Azure.

  6. Impostare la spec.auth.workloadIdentity.managedIdentityClientId proprietà sull'ID client dell'identità gestita assegnata dall'utente nella risorsa di esempio AzureAppConfigurationProvider seguente e distribuirla nel cluster del servizio Azure 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:
        workloadIdentity:
          managedIdentityClientId: <your-managed-identity-client-id>
    

Usare stringa di connessione

  1. Creare un segreto Kubernetes nello stesso spazio dei nomi della AzureAppConfigurationProvider risorsa e aggiungere app Azure Configurazione stringa di connessione con azure_app_configuration_connection_string chiave nel segreto.

  2. Impostare la spec.connectionStringReference proprietà sul nome del segreto nella risorsa di esempio AzureAppConfigurationProvider seguente e distribuirla nel cluster 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
    

Selezione chiave-valore

Usare la selectors proprietà per filtrare i valori chiave da scaricare da app Azure Configuration.

L'esempio seguente scarica tutti i valori chiave senza etichetta.

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

Nell'esempio seguente vengono usati due selettori per recuperare due set di valori chiave, ognuno con etichette univoche. È importante notare che i valori dell'ultimo selettore hanno la precedenza ed eseguono l'override di eventuali chiavi sovrapposte dai selettori precedenti.

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

Uno snapshot può essere usato da solo o insieme ad altri selettori chiave-valore. Nell'esempio seguente vengono caricati i valori chiave della configurazione comune da uno snapshot e quindi ne viene eseguito l'override con i valori chiave per lo sviluppo.

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

Limitazione del prefisso della chiave

Nell'esempio seguente viene usata la trimKeyPrefixes proprietà per tagliare due prefissi dai nomi delle chiavi prima di aggiungerli all'oggetto ConfigMap generato.

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]

Aggiornamento della configurazione

Quando si apportano modifiche ai dati in app Azure Configurazione, è possibile che tali modifiche vengano aggiornate automaticamente nel cluster Kubernetes. È comune aggiornare più valori chiave, ma non si vuole che il cluster rilevi una modifica a metà dell'aggiornamento. Per mantenere la coerenza della configurazione, è possibile usare un valore chiave per segnalare il completamento dell'aggiornamento. Questo valore chiave è noto come chiave sentinel. Il provider Kubernetes può monitorare questo valore chiave e ConfigMap e Secret verranno rigenerati solo con i dati aggiornati dopo che viene rilevata una modifica nella chiave sentinel.

Nell'esempio seguente viene eseguito il polling di un valore chiave denominato app1_sentinel ogni minuto e la configurazione viene aggiornata ogni volta che vengono rilevate modifiche nella chiave sentinel.

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

Riferimenti a Key Vault

Autenticazione

Nell'esempio seguente, un insieme di credenziali delle chiavi viene autenticato con un'entità servizio, mentre tutti gli altri insiemi di credenziali delle chiavi vengono autenticati con un'identità gestita assegnata dall'utente.

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>

Tipi di segreto

Sono attualmente supportati due tipi predefiniti kubernetes di segreti, opaco e TLS. I segreti risolti dai riferimenti a Key Vault vengono salvati come tipo segreto opaco per impostazione predefinita. Se si ha un riferimento a Key Vault a un certificato e si vuole salvarlo come tipo di segreto TLS, è possibile aggiungere un tag con il nome e il valore seguenti al riferimento di Key Vault in app Azure Configuration. In questo modo, verrà generato un segreto con il kubernetes.io/tls tipo e denominato dopo la chiave del riferimento all'insieme di credenziali delle chiavi.

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

Aggiornamento dei segreti da Key Vault

L'aggiornamento dei segreti dagli insiemi di credenziali delle chiavi richiede in genere il ricaricamento dei riferimenti di Key Vault corrispondenti da app Azure Configurazione. Tuttavia, con la spec.secret.refresh proprietà è possibile aggiornare i segreti da Key Vault in modo indipendente. Ciò è particolarmente utile per garantire che il carico di lavoro rilevi automaticamente eventuali segreti aggiornati da Key Vault durante la rotazione dei segreti. Si noti che per caricare la versione più recente di un segreto, il riferimento a Key Vault non deve essere un segreto con controllo delle versioni.

L'esempio seguente aggiorna tutti i segreti non con controllo delle versioni da Key Vault ogni ora.

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

Flag di funzionalità

Nell'esempio seguente, i flag di funzionalità con chiavi che iniziano con app1 e le etichette equivalenti a common vengono scaricati e aggiornati ogni 10 minuti.

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

Utilizzo di ConfigMap

Le applicazioni in esecuzione in Kubernetes usano in genere ConfigMap come variabili di ambiente o come file di configurazione. Se la configMapData.type proprietà è assente o è impostata su default, ConfigMap viene popolato con l'elenco di dati inseriti nell'elemento recuperato da app Azure Configuration, che può essere facilmente utilizzato come variabili di ambiente. Se la configMapData.type proprietà è impostata su json, yaml o proprietà, i dati recuperati da app Azure Configuration vengono raggruppati in un elemento con il nome della configMapData.key chiave specificato dalla proprietà nell'oggetto ConfigMap generato, che può essere utilizzato come file montato.

Negli esempi seguenti viene illustrato come i dati vengono popolati nell'oggetto ConfigMap generato con impostazioni diverse della configMapData.type proprietà .

Supponendo che un archivio Configurazione app abbia questi valori chiave:

key value
key1 value1
key2 value2
key3 value3

E la configMapData.type proprietà è assente o impostata su 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

ConfigMap generato viene popolato con i dati seguenti:

data:
  key1: value1
  key2: value2
  key3: value3