Condividi tramite


Esercitazione: Usare la configurazione dinamica nel servizio Azure Kubernetes

Se si usa il servizio Azure Kubernetes, questa esercitazione illustra come abilitare la configurazione dinamica per i carichi di lavoro nel servizio Azure Kubernetes sfruttando Configurazione app di Azure e il relativo provider Kubernetes. L'esercitazione presuppone di aver seguito il quickstart e di aver configurato un provider Kubernetes di Configurazione app, quindi, prima di procedere, assicurarsi di completare il quickstart Usare Configurazione app di Azure nel servizio Azure Kubernetes.

Suggerimento

Vedere le opzioni per i carichi di lavoro ospitati in Kubernetes per accedere a Configurazione app di Azure.

Prerequisiti

Completare la guida introduttiva: Usa Azure App Configuration nel Servizio Azure Kubernetes.

Ricarica i dati dalla configurazione dell'applicazione

  1. Aprire il file appConfigurationProvider.yaml che si trova nella directory Distribuzione . Aggiungere quindi la refresh sezione sotto la configuration proprietà . Consente al provider Kubernetes di ricaricare l'intera configurazione ogni volta che rileva una modifica in uno dei valori chiave selezionati (quelli che iniziano con Impostazioni: e non hanno etichetta). Per altre informazioni sul monitoraggio delle modifiche alla configurazione, vedere Procedure consigliate per l'aggiornamento della configurazione.

    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
    

    Suggerimento

    È possibile impostare la proprietà interval di refresh per specificare il tempo minimo tra gli aggiornamenti della configurazione. In questo esempio si usa il valore predefinito di 30 secondi. Impostare un valore superiore se è necessario ridurre il numero di richieste effettuate nell'archivio di Configurazione app.

  2. Aprire il file deployment.yaml nella directory Deployment e aggiungere il contenuto seguente alla spec.containers sezione . L'applicazione carica la configurazione da un file montato su un volume che il provider Kubernetes di Configurazione dell'app genera. Impostando questa variabile di ambiente, l'applicazione può usare il polling per monitorare le modifiche nei file montati.

    env:
    - name: DOTNET_USE_POLLING_FILE_WATCHER
      value: "true"
    
  3. Eseguire il comando seguente per distribuire la modifica. Sostituisci lo spazio dei nomi se usi la tua applicazione AKS esistente.

    kubectl apply -f ./Deployment -n appconfig-demo
    
  4. Aprire una finestra del browser e passare all'indirizzo IP ottenuto nel passaggio precedente. La pagina Web avrà un aspetto simile al seguente:

    Screenshot dell'app Web con valori precedenti.

  5. Aggiorna i seguenti valori chiave nell'archivio di configurazione dell'app.

    Chiave Valore
    Impostazioni:Messaggio Hello from Azure App Configuration : ora con gli aggiornamenti in tempo reale.
  6. Dopo aver aggiornato il browser alcune volte, il contenuto aggiornato verrà visualizzato dopo l'aggiornamento di ConfigMap in 30 secondi.

    Screenshot dell'app Web con valori aggiornati.

Ricaricare ConfigMap e Secret

Il provider Kubernetes di App Configuration genera ConfigMaps o Secrets che possono essere usati come variabili di ambiente o file montati su volumi. Questa esercitazione ha illustrato come caricare la configurazione da un file JSON usando il provider di configurazione JSON .NET, che ricarica automaticamente la configurazione ogni volta che viene rilevata una modifica nel file montato. Di conseguenza, l'applicazione ottiene automaticamente la configurazione aggiornata ogni volta che il provider Kubernetes di Configurazione app aggiorna ConfigMap.

Se la tua applicazione dipende dalle variabili di ambiente per la configurazione, potrebbe essere necessario un riavvio per acquisire i valori aggiornati. In Kubernetes il riavvio dell'applicazione può essere orchestrato usando gli aggiornamenti in sequenza nei pod o nei contenitori corrispondenti. Per automatizzare gli aggiornamenti della configurazione, è possibile sfruttare strumenti di terze parti come stakater/Reloader, che possono attivare automaticamente gli aggiornamenti in sequenza in caso di modifiche apportate a ConfigMaps o Segreti.

Passaggi successivi

Per altre informazioni sul provider Kubernetes Configurazione app di Azure, vedere Informazioni di riferimento sul provider Kubernetes Configurazione app di Azure.