Aracılığıyla paylaş


Öğretici: Azure Kubernetes Service'te dinamik yapılandırmayı kullanma

Azure Kubernetes Service (AKS) kullanıyorsanız bu öğreticide, Azure Uygulama Yapılandırması ve Kubernetes Sağlayıcısı'nı kullanarak AKS'deki iş yükleriniz için dinamik yapılandırmayı etkinleştirme adımları gösterilmektedir. Ders, hızlı başlangıcı tamamlamış olduğunuzu ve üzerinde çalıştığınızı, ayrıca bir Uygulama Yapılandırma Kubernetes Sağlayıcısı konfigürasyonunu kurduğunuzu varsayar. Dolayısıyla devam etmeden önce Azure Kubernetes Service'te Azure Uygulama Yapılandırmasını Kullanma hızlı başlangıcını tamamladığınızdan emin olun.

Tavsiye

Azure Uygulama Yapılandırması'na erişmek için Kubernetes'te barındırılan iş yükleri için seçeneklere bakın.

Önkoşullar

Hızlı başlangıcı tamamlayın: Azure Kubernetes Service'te Azure Uygulama Yapılandırması'nı kullanma.

Uygulama Yapılandırması'dan verileri yeniden yükleme

  1. Dağıtım dizininde bulunan appConfigurationProvider.yaml dosyasını açın. Ardından, özelliğinin refresh altına configuration bölümünü ekleyin. Kubernetes sağlayıcısının seçilen anahtar değerlerinden herhangi birinde ( Ayarlar: ile başlayanlar ve etiketi olmayanlar) bir değişiklik algılasa tüm yapılandırmayı yeniden yüklemesini sağlar. Yapılandırma değişikliklerini izleme hakkında daha fazla bilgi için bkz. Yapılandırma yenileme için en iyi yöntemler.

    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
    

    Tavsiye

    interval özelliğini, refresh'nin yapılandırma yenilemeleri arasındaki en düşük süreyi belirtmek için ayarlayabilirsiniz. Bu örnekte varsayılan 30 saniye değerini kullanırsınız. Uygulama Yapılandırması deponuza yapılan istek sayısını azaltmanız gerekiyorsa daha yüksek bir değere ayarlayın.

  2. Deployment dizininde deployment.yaml dosyasını açın ve bölümüne aşağıdaki içeriği spec.containers ekleyin. Uygulamanız Kubernetes sağlayıcısının oluşturduğu birim bağlı bir dosyadan yapılandırma yükler. Uygulamanız, bu ortam değişkenini ayarlayarak bağlı dosyalardaki değişiklikleri izlemek için yoklamayı kullanabilir.

    env:
    - name: DOTNET_USE_POLLING_FILE_WATCHER
      value: "true"
    
  3. Değişikliği dağıtmak için aşağıdaki komutu çalıştırın. Mevcut AKS uygulamanızı kullanıyorsanız ad alanını değiştirin.

    kubectl apply -f ./Deployment -n appconfig-demo
    
  4. Bir tarayıcı penceresi açın ve önceki adımda elde edilen IP adresine gidin. Web sayfası şöyle görünür:

    Eski değerleri içeren web uygulamasının ekran görüntüsü.

  5. Uygulama Yapılandırma deponuzda aşağıdaki anahtar değerlerini güncelleştirin.

    Anahtar Değer
    Ayarlar:Mesaj Azure Uygulama Yapılandırması'ndan merhaba - şimdi canlı güncelleştirmelerle!
  6. Tarayıcıyı birkaç kez yeniledikten sonra, ConfigMap'in 30 saniye içinde güncellenmesiyle güncellenmiş içeriği görürsünüz.

    Güncelleştirilmiş değerler içeren web uygulamasının ekran görüntüsü.

ConfigMap ve Gizliyi Yeniden Yükle

Uygulama Yapılandırması Kubernetes sağlayıcısı, ortam değişkenleri veya birime bağlı dosyalar olarak kullanılabilecek ConfigMap'ler veya Gizli Diziler oluşturur. Bu öğreticide, bağlı dosyada bir değişiklik algılandığında yapılandırmayı otomatik olarak yeniden yükleyen .NET JSON yapılandırma sağlayıcısını kullanarak bir JSON dosyasından yapılandırmanın nasıl yüklendiği gösterilmiştir. Sonuç olarak, Uygulama Yapılandırması Kubernetes sağlayıcısı ConfigMap'i güncelleştirdiğinde uygulamanız güncelleştirilmiş yapılandırmayı otomatik olarak alır.

Uygulamanız yapılandırma için ortam değişkenlerine bağımlıysa, güncelleştirilmiş değerleri almak için yeniden başlatma gerekebilir. Kubernetes'te, uygulama yeniden başlatma işlemi ilgili pod veya kapsayıcılardaki sıralı güncelleştirmeler kullanılarak ayarlanabilir. Yapılandırma güncelleştirmelerini otomatikleştirmek için stakater/Reloader gibi ConfigMap'lerde veya Gizli Dizilerde yapılan değişikliklerde sıralı güncelleştirmeleri otomatik olarak tetikleyebilen üçüncü taraf araçlardan yararlanabilirsiniz.

Sonraki Adımlar

Azure Uygulama Yapılandırması Kubernetes Sağlayıcısı hakkında daha fazla bilgi edinmek için bkz. Azure Uygulama Yapılandırması Kubernetes Sağlayıcısı başvurusu.