Megosztás a következőn keresztül:


Azure-alkalmazás Konfigurációs Kubernetes-szolgáltató referenciája

Az alábbi hivatkozás az Azure App Configuration Kubernetes Provider v2.3.0 vagy újabb verzió által támogatott tulajdonságokat ismerteti. A módosítással kapcsolatos további információkért tekintse meg a kibocsátási megjegyzéseket .

Tulajdonságok

Egy AzureAppConfigurationProvider erőforrás a következő legfelső szintű gyermektulajdonságokat tartalmazza a spec. Vagy endpoint meg connectionStringReference kell adni.

Név Leírás Kötelező Típus
végpont A Azure-alkalmazás Konfiguráció végpontja, amelyből le szeretné kérni a kulcsértékeket. alternatív karakterlánc
connectionStringReference Az Azure-alkalmazás konfigurációs kapcsolati sztring tartalmazó Kubernetes-titkos kód neve. alternatív karakterlánc
replicaDiscoveryEnabled Az a beállítás, amely meghatározza, hogy a Azure-alkalmazás konfiguráció replikái automatikusan felderítve és használva legyenek-e a feladatátvételhez. Ha a tulajdonság hiányzik, a rendszer egy alapértelmezett értéket true használ. hamis logikai
loadBalancingEnabled Az a beállítás, amely lehetővé teszi a számítási feladat számára a kérelmek alkalmazáskonfigurációba való elosztását az összes rendelkezésre álló replika között. Ha a tulajdonság hiányzik, a rendszer egy alapértelmezett értéket false használ. hamis logikai
céladatbázis A lekért kulcsértékek célja a Kubernetesben. igaz objektum
autentikáció A Azure-alkalmazás Konfiguráció eléréséhez szükséges hitelesítési módszer. hamis objektum
konfiguráció A kulcsértékek lekérdezésének és feldolgozásának beállításai Azure-alkalmazás konfigurációban. hamis objektum
titkos kód A Key Vault-hivatkozások beállításai Azure-alkalmazás konfigurációban. feltételes objektum
featureFlag A Azure-alkalmazás Konfiguráció funkciójelzőinek beállításai. hamis objektum

A spec.target tulajdonság a következő gyermektulajdonságú.

Név Leírás Kötelező Típus
configMapName A létrehozandó ConfigMap neve. igaz karakterlánc
configMapData Az a beállítás, amely meghatározza, hogy a beolvasott adatok hogyan legyenek feltöltve a létrehozott konfigurációtérképen. hamis objektum

Ha a spec.target.configMapData tulajdonság nincs beállítva, a létrehozott ConfigMap a Azure-alkalmazás Konfigurációból lekért kulcsértékek listájával van feltöltve, amely lehetővé teszi a ConfigMap környezeti változóként való használatát. Frissítse ezt a tulajdonságot, ha a ConfigMap-et csatlakoztatott fájlként szeretné használni. Ez a tulajdonság a következő gyermektulajdonságokat tartalmazza.

Név Leírás Kötelező Típus
típus Az a beállítás, amely azt jelzi, hogy a lekért adatok hogyan jönnek létre a generált konfigurációtérképen. Az engedélyezett értékek közé tartozik az default, jsonyaml és propertiesa . választható karakterlánc
kulcs A lekért adatok kulcsneve, ha a type be van állítva jsonaz , yaml vagy properties. Állítsa be a fájlnévre, ha a ConfigMap csatlakoztatott fájlként van beállítva. feltételes karakterlánc
elválasztó A ConfigMap-adatok hierarchikus formátumban történő kimenetéhez használt elválasztó, ha a típus json értéke vagy yamlértéke . Az elválasztó alapértelmezés szerint üres, és a létrehozott ConfigMap az eredeti formájukban tartalmazza a kulcsértékeket. Ezt a beállítást csak akkor konfigurálja, ha az alkalmazásban használt konfigurációs fájlbetöltő nem tudja betölteni a kulcsértékeket anélkül, hogy hierarchikus formátumba konvertálja őket. választható karakterlánc

A spec.auth tulajdonság nem szükséges, ha az Alkalmazáskonfigurációs áruház kapcsolati sztring a spec.connectionStringReference tulajdonság beállításával van megadva. Ellenkező esetben a rendszer az egyik identitást, szolgáltatásnevet, számítási feladat identitását vagy felügyelt identitását használja a hitelesítéshez. Az spec.auth alábbi gyermektulajdonságokat tartalmazza. Csak az egyiket kell megadni. Ha egyik sincs beállítva, a rendszer a virtuálisgép-méretezési csoport rendszer által hozzárendelt felügyelt identitását használja.

Név Leírás Kötelező Típus
servicePrincipalReference A szolgáltatásnév hitelesítő adatait tartalmazó Kubernetes-titkos kód neve. A titkos kódnak ugyanabban a névtérben kell lennie, mint a Kubernetes-szolgáltatónak. hamis karakterlánc
workloadIdentity A számítási feladatok identitásának használatára vonatkozó beállítások. hamis objektum
managedIdentityClientId A virtuálisgép-méretezési csoport felhasználó által hozzárendelt felügyelt identitásának ügyfélazonosítója. hamis karakterlánc

A spec.auth.workloadIdentity tulajdonság a következő gyermektulajdonságú.

Név Leírás Kötelező Típus
serviceAccountName A számítási feladat identitásához társított szolgáltatásfiók neve. igaz karakterlánc

Az spec.configuration alábbi gyermektulajdonságokat tartalmazza.

Név Leírás Kötelező Típus
Szelektor A kulcs-érték szűrés választóinak listája. hamis objektumtömb
trimKeyPrefixes A levágandó kulcselőtagok listája. hamis sztringtömb
frissít A kulcsértékek Azure-alkalmazás konfigurációból való frissítésének beállításai. Ha a tulajdonság hiányzik, a Azure-alkalmazás konfiguráció kulcsértékei nem frissülnek. hamis objektum

Ha a tulajdonság nincs beállítva, a spec.configuration.selectors rendszer letölti az összes címke nélküli kulcsértéket. Választóobjektumok tömbje, amelyek a következő gyermektulajdonságokkal rendelkeznek. Vegye figyelembe, hogy az utolsó választó kulcsértékei elsőbbséget élveznek, és felülbírálják az előző választók egymást átfedő kulcsait.

Név Leírás Kötelező Típus
keyFilter Kulcsértékek lekérdezésének kulcsszűrője. Ezt a tulajdonságot és a snapshotName tulajdonságot nem szabad egyszerre beállítani. alternatív karakterlánc
labelFilter A kulcsértékek lekérdezéséhez használt címkeszűrő. Ezt a tulajdonságot és a snapshotName tulajdonságot nem szabad egyszerre beállítani. hamis karakterlánc
címkékSzűrők A címkék szűrői kulcsértékek lekérdezéséhez. Ezt a tulajdonságot és a snapshotName tulajdonságot nem szabad egyszerre beállítani. A címkészűrőt úgy kell formázni, hogy tag1=value1. hamis sztringtömb
snapshotName Annak a pillanatképnek a neve, amelyből a kulcsértékek betöltve vannak. Ez a tulajdonság nem használható más tulajdonságokkal együtt. alternatív karakterlánc

A spec.configuration.refresh tulajdonság a következő gyermektulajdonságokat tartalmazza.

Név Leírás Kötelező Típus
engedélyezve Az a beállítás, amely meghatározza, hogy a Azure-alkalmazás-konfiguráció kulcsértékei automatikusan frissülnek-e. Ha a tulajdonság hiányzik, a rendszer egy alapértelmezett értéket false használ. hamis logikai
figyelés A változásészleléshez figyelt kulcsértékek, más néven sentinel-kulcsok. A Azure-alkalmazás Konfiguráció kulcsértékei csak akkor frissülnek, ha a figyelt kulcsértékek közül legalább egy módosul. Ha ez a tulajdonság hiányzik, a rendszer az összes kijelölt kulcsértéket figyeli a frissítéshez. hamis objektum
intervallum A kulcsértékek Azure-alkalmazás konfigurációból való frissítésének időköze. Az értéknek 1 másodpercnél nagyobbnak vagy egyenlőnek kell lennie. Ha a tulajdonság hiányzik, a rendszer 30 másodperces alapértelmezett értéket használ. hamis időtartam-sztring

Az spec.configuration.refresh.monitoring.keyValues objektumtömb az alábbi gyermektulajdonságokkal rendelkezik.

Név Leírás Kötelező Típus
kulcs Egy kulcs-érték kulcsa. igaz karakterlánc
címke Egy kulcs-érték címkéje. hamis karakterlánc

A spec.secret tulajdonság a következő gyermektulajdonságokat tartalmazza. Erre akkor van szükség, ha a Key Vault-referenciák várhatóan le lesznek töltve. A Kubernetes beépített titkos kulcstípusok támogatásáról további információt a Titkos kódok típusai című témakörben talál.

Név Leírás Kötelező Típus
céladatbázis A kubernetesben lekért titkos kódok célja. igaz objektum
autentikáció A Key Vaultok eléréséhez szükséges hitelesítési módszer. hamis objektum
frissít A Key Vaultból származó adatok frissítésének beállításai. Ha a tulajdonság hiányzik, a Key Vaultból származó adatok csak akkor frissülnek, ha a megfelelő Key Vault-hivatkozások újratöltődnek. hamis objektum

A spec.secret.target tulajdonság a következő gyermektulajdonságú.

Név Leírás Kötelező Típus
titkos név A létrehozandó Kubernetes-titkos kód neve. igaz karakterlánc
secretData Az a beállítás, amely meghatározza, hogy a lekért adatok hogyan legyenek feltöltve a létrehozott titkos kódban. igaz karakterlánc

Ha a spec.secret.target.secretData tulajdonság nincs beállítva, a létrehozott titkos kód a Key Vaultból lekért kulcsértékek listájával lesz feltöltve, amely lehetővé teszi a titkos kód környezeti változóként való használatát. Frissítse ezt a tulajdonságot, ha csatlakoztatott fájlként szeretné használni a Titkos kulcsot. Ez a tulajdonság a következő gyermektulajdonságokat tartalmazza.

Név Leírás Kötelező Típus
típus Az a beállítás, amely azt jelzi, hogy a lekért adatok hogyan jönnek létre a létrehozott titkos kódban. Az engedélyezett értékek közé tartozik az default, jsonyaml és propertiesa . választható karakterlánc
kulcs A lekért adatok kulcsneve, ha a type be van állítva jsonaz , yaml vagy properties. Állítsa be a fájlnévre, ha a titkos kód csatlakoztatott fájlként van beállítva. feltételes karakterlánc
elválasztó A titkos adatok hierarchikus formátumban történő kimenetére használt elválasztó, ha a típus értéke json vagy yamlértéke . Az elválasztó alapértelmezés szerint üres, és a létrehozott titkos kód az eredeti formájukban tartalmazza a kulcsértékeket. Ezt a beállítást csak akkor konfigurálja, ha az alkalmazásban használt konfigurációs fájlbetöltő nem tudja betölteni a kulcsértékeket anélkül, hogy hierarchikus formátumba konvertálja őket. választható karakterlánc

Ha a spec.secret.auth tulajdonság nincs beállítva, a rendszer a rendszer által hozzárendelt felügyelt identitást használja. A következő gyermektulajdonságokat tartalmazza.

Név Leírás Kötelező Típus
servicePrincipalReference Annak a Kubernetes-titkos kódnak a neve, amely egy olyan szolgáltatásnév hitelesítő adatait tartalmazza, amelyet olyan Key Vaultokkal való hitelesítéshez használnak, amelyekhez nincs megadva egyedi hitelesítési módszer. hamis karakterlánc
workloadIdentity A számítási feladat identitásának azon beállításai, amelyeket olyan Key Vaultokkal való hitelesítéshez használnak, amelyekhez nincs megadva egyedi hitelesítési módszer. Ugyanazzal a gyermektulajdonságokkal rendelkezik, mint a spec.auth.workloadIdentity. hamis objektum
managedIdentityClientId A key vaultokkal való hitelesítéshez használt virtuálisgép-méretezési csoport felhasználó által hozzárendelt felügyelt identitásának ügyfélazonosítója, amely nem rendelkezik egyedi hitelesítési módszerekkel. hamis karakterlánc
kulcstárolók Az egyes Key Vaultok hitelesítési módszerei. hamis objektumtömb

Az egyes Key Vaultok hitelesítési módszere az alábbi tulajdonságokkal adható meg. Az egyiket managedIdentityClientIdmeg servicePrincipalReference kell adni, vagy workloadIdentity meg kell adni.

Név Leírás Kötelező Típus
Uri A Key Vault URI-ja. igaz karakterlánc
servicePrincipalReference A Kubernetes-titkos kód neve, amely a Key Vaulttal való hitelesítéshez használt szolgáltatásnév hitelesítő adatait tartalmazza. hamis karakterlánc
workloadIdentity A Key Vaulttal való hitelesítéshez használt számítási feladatok identitásának beállításai. Ugyanazzal a gyermektulajdonságokkal rendelkezik, mint a spec.auth.workloadIdentity. hamis objektum
managedIdentityClientId A Key Vaulttal való hitelesítéshez használt virtuálisgép-méretezési csoport felhasználó által hozzárendelt felügyelt identitásának ügyfélazonosítója. hamis karakterlánc

A spec.secret.refresh tulajdonság a következő gyermektulajdonságokat tartalmazza.

Név Leírás Kötelező Típus
engedélyezve Ez a beállítás határozza meg, hogy a Key Vaultból származó adatok automatikusan frissülnek-e. Ha a tulajdonság hiányzik, a rendszer egy alapértelmezett értéket false használ. hamis logikai
intervallum Az az időköz, amikor az adatok frissülnek a Key Vaultból. Az értéknek 1 percnél nagyobbnak vagy egyenlőnek kell lennie. A Key Vault frissítése független a konfigurált spec.configuration.refreshalkalmazáskonfiguráció frissítésétől. igaz időtartam-sztring

A spec.featureFlag tulajdonság a következő gyermektulajdonságokat tartalmazza. Erre akkor van szükség, ha a szolgáltatásjelzők várhatóan le lesznek töltve.

Név Leírás Kötelező Típus
Szelektor A funkciójelölők szűrésére szolgáló választók listája. hamis objektumtömb
frissít A funkciójelzők frissítésének beállításai Azure-alkalmazás Konfigurációból. Ha a tulajdonság hiányzik, a Azure-alkalmazás Konfiguráció funkciójelzői nem frissülnek. hamis objektum

Ha a tulajdonság nincs beállítva, a spec.featureFlag.selectors funkciójelzők nem töltődnek le. Választóobjektumok tömbje, amelyek a következő gyermektulajdonságokkal rendelkeznek. Vegye figyelembe, hogy az utolsó választó funkciójelzői elsőbbséget élveznek, és felülbírálják az előző választók átfedésben lévő kulcsait.

Név Leírás Kötelező Típus
keyFilter A funkciójelölők lekérdezésének kulcsszűrője. Ezt a tulajdonságot és a snapshotName tulajdonságot nem szabad egyszerre beállítani. alternatív karakterlánc
labelFilter A funkciójelölők lekérdezéséhez használt címkeszűrő. Ezt a tulajdonságot és a snapshotName tulajdonságot nem szabad egyszerre beállítani. hamis karakterlánc
címkékSzűrők A címkészűrők a funkciózászlók lekérdezéséhez. Ezt a tulajdonságot és a snapshotName tulajdonságot nem szabad egyszerre beállítani. A címkészűrőt úgy kell formázni, hogy tag1=value1. hamis sztringtömb
snapshotName Annak a pillanatképnek a neve, amelyből a funkciójelzők betöltve vannak. Ez a tulajdonság nem használható más tulajdonságokkal együtt. alternatív karakterlánc

A spec.featureFlag.refresh tulajdonság a következő gyermektulajdonságokat tartalmazza.

Név Leírás Kötelező Típus
engedélyezve Ez a beállítás határozza meg, hogy a Azure-alkalmazás Konfiguráció funkciójelzői automatikusan frissülnek-e. Ha a tulajdonság hiányzik, a rendszer egy alapértelmezett értéket false használ. hamis logikai
intervallum A funkciójelzők frissítésének időköze Azure-alkalmazás konfigurációból. Az értéknek 1 másodpercnél nagyobbnak vagy egyenlőnek kell lennie. Ha a tulajdonság hiányzik, a rendszer 30 másodperces alapértelmezett értéket használ. hamis időtartam-sztring

Telepítés

Az alábbi helm install paranccsal telepítse a Azure-alkalmazás Konfigurációs Kubernetes-szolgáltatót. A paraméterek és az alapértelmezett értékek teljes listáját a helm-values.yaml webhelyen találja. Az alapértelmezett értékeket felülbírálhatja úgy, hogy átadja a --set jelölőt a parancsnak.

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

Automatikus skálázás

Alapértelmezés szerint az automatikus skálázás le van tiltva. Ha azonban több AzureAppConfigurationProvider erőforrással rendelkezik több ConfigMaps/Titkos kód létrehozásához, engedélyezheti a podok automatikus horizontális skálázását a következő beállítássalautoscaling.enabledtrue: .

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

Adatgyűjtés

A szoftver adatokat gyűjthet Önről és a szoftver használatáról, és elküldheti a Microsoftnak. A Microsoft ezeket az adatokat szolgáltatások nyújtására és termékeinek és szolgáltatásainak továbbfejlesztésére felhasználhatja. A telemetria kikapcsolásához állítsa be a requestTracing.enabled=false Azure-alkalmazás Konfigurációs Kubernetes-szolgáltató telepítése közben. A szoftver bizonyos funkciói lehetővé tehetik, hogy Ön és a Microsoft adatokat gyűjtsenek az alkalmazások felhasználóitól. Ha ezeket a funkciókat használja, meg kell felelnie a vonatkozó jogszabályoknak, beleértve a megfelelő értesítéseket az alkalmazások felhasználóinak, valamint a Microsoft adatvédelmi nyilatkozatának másolatát. Adatvédelmi nyilatkozatunk itt olvasható: https://go.microsoft.com/fwlink/?LinkID=824704. Az adatgyűjtésről és a használatról a súgódokumentációban és az adatvédelmi nyilatkozatban tudhat meg többet. Azzal, hogy használja a szoftvert, Ön elfogadja ezt a gyakorlatot.

Példák

Hitelesítés

Virtuálisgép-méretezési csoport rendszer által hozzárendelt felügyelt identitásának használata

  1. Engedélyezze a rendszer által hozzárendelt felügyelt identitást az Azure Kubernetes Service -fürt által használt virtuálisgép-méretezési csoportban .

  2. Adja meg a rendszer által hozzárendelt felügyelt identitás alkalmazáskonfigurációs adatolvasói szerepkörét Azure-alkalmazás Konfigurációban.

  3. Helyezze üzembe a következő mintaerőforrást AzureAppConfigurationProvider az AKS-fürtben.

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

A virtuálisgép-méretezési csoport felhasználó által hozzárendelt felügyelt identitásának használata

  1. Hozzon létre egy felhasználó által hozzárendelt felügyelt identitást , és jegyezze fel az ügyfél-azonosítóját a létrehozás után.

  2. Rendelje hozzá a felhasználó által hozzárendelt felügyelt identitást az Azure Kubernetes Service -fürt által használt virtuálisgép-méretezési csoporthoz .

  3. Adja meg a felhasználó által hozzárendelt felügyelt identitás alkalmazáskonfigurációs adatolvasói szerepkört Azure-alkalmazás Konfigurációban.

  4. Állítsa be a spec.auth.managedIdentityClientId tulajdonságot a felhasználó által hozzárendelt felügyelt identitás ügyfélazonosítójára az alábbi mintaerőforrásban AzureAppConfigurationProvider , és helyezze üzembe az AKS-fürtben.

    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>
    

Szolgáltatásnév használata

  1. Szolgáltatásnév létrehozása

  2. Adjon meg a szolgáltatásnév alkalmazáskonfigurációs adatolvasói szerepkört Azure-alkalmazás Konfigurációban.

  3. Hozzon létre egy Kubernetes-titkos kulcsot az AzureAppConfigurationProvider erőforrással megegyező névtérben, és adja hozzá a szolgáltatásnév azure_client_id, azure_client_secret és azure_tenant_id a titkos kódhoz.

  4. Állítsa a spec.auth.servicePrincipalReference tulajdonságot a titkos kód nevére a következő mintaerőforrásban AzureAppConfigurationProvider , és telepítse a Kubernetes-fürtben.

    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>
    

Számítási feladat identitásának használata

  1. Engedélyezze a számítási feladatok identitását az Azure Kubernetes Service (AKS) fürtben.

  2. Kérje le az AKS-fürt OIDC-kiállítójának URL-címét .

  3. Hozzon létre egy felhasználó által hozzárendelt felügyelt identitást , és jegyezze fel annak ügyfél-azonosítóját, bérlőazonosítóját, nevét és erőforráscsoportját.

  4. Adja meg a felhasználó által hozzárendelt felügyelt identitás alkalmazáskonfigurációs adatolvasói szerepkört Azure-alkalmazás Konfigurációban.

  5. Hozzon létre egy szolgáltatásfiókot úgy, hogy hozzáad egy YAML-fájlt (például serviceAccount.yaml) az alábbi tartalommal az AKS-telepítési fájlokat tartalmazó könyvtárhoz. A szolgáltatásfiók akkor jön létre, amikor az összes üzembehelyezési módosítást alkalmazza az AKS-fürtre (például a használatával kubectl apply). Cserélje le <your-managed-identity-client-id> az ügyfél-azonosítóra és <your-managed-identity-tenant-id> az imént létrehozott, felhasználó által hozzárendelt felügyelt identitás bérlőazonosítójára. Cserélje le <your-service-account-name> az előnyben részesített névre.

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: <your-service-account-name>
      annotations:
        azure.workload.identity/client-id: <your-managed-identity-client-id>
        azure.workload.identity/tenant-id: <your-managed-identity-tenant-id>
    
  6. Összevont identitás hitelesítő adatainak létrehozása a felhasználó által hozzárendelt felügyelt identitáshoz az Azure CLI használatával. Cserélje le <user-assigned-identity-name> az újonnan létrehozott, felhasználó által hozzárendelt felügyelt identitás nevére és <resource-group> erőforráscsoportjára. Cserélje le <aks-oidc-issuer> az AKS-fürt OIDC-kiállítójának URL-címét. Cserélje le <your-service-account-name> az újonnan létrehozott szolgáltatásfiók nevére. Cserélje le <federated-identity-credential-name> az összevont identitás hitelesítő adatainak előnyben részesített nevére.

    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:default:<your-service-account-name> --audience api://AzureADTokenExchange
    

    Vegye figyelembe, hogy az összevont identitás hitelesítő adatainak a következő formátumot kell követniük: system:serviceaccount:<service-account-namespace>:<service-account-name>.

  7. Állítsa a spec.auth.workloadIdentity.serviceAccountName tulajdonságot a szolgáltatásfiók nevére az alábbi mintaerőforrásban AzureAppConfigurationProvider . Győződjön meg arról, hogy az AzureAppConfigurationProvider erőforrás és a szolgáltatásfiók ugyanabban a névtérben van.

    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:
          serviceAccountName: <your-service-account-name>
    

Kapcsolati sztring használata

  1. Hozzon létre egy Kubernetes-titkos kulcsot az AzureAppConfigurationProvider erőforrással megegyező névtérben, és adja hozzá Azure-alkalmazás konfigurációs kapcsolati sztring a titkos kulcs azure_app_configuration_connection_string.

  2. Állítsa a spec.connectionStringReference tulajdonságot a titkos kód nevére a következő mintaerőforrásban AzureAppConfigurationProvider , és telepítse a Kubernetes-fürtben.

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

Kulcs-érték kijelölés

selectors A tulajdonság használatával szűrheti a Azure-alkalmazás Konfigurációból letöltendő kulcsértékeket.

Az alábbi minta az összes, címkét nem tartalmazó kulcsértéket letölti.

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

A következő példában két választót használunk a kulcsértékek két készletének lekéréséhez, amelyek mindegyike egyedi címkékkel van elrendve. Fontos megjegyezni, hogy az utolsó választó értékei elsőbbséget élveznek, és felülbírálják az előző választók egymást átfedő kulcsait.

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

Címkészűrők kulcsértékek szűrésére is használhatók. A következő mintában csak a címkével env=prod ellátott kulcsértékek kerülnek le.

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: '*'
        tagFilters:
          - env=prod

A pillanatképek önállóan vagy más kulcs-érték választókkal együtt is használhatók. Az alábbi példában egy pillanatképből tölti be a közös konfiguráció kulcsértékeit, majd felülbírál néhányat kulcsértékekkel a fejlesztéshez.

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

Kulcselőtag vágása

Az alábbi minta két előtag kivágására használja a tulajdonságot a trimKeyPrefixes kulcsnevekből, mielőtt hozzáadja őket a létrehozott ConfigMap-hez.

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]

Konfiguráció frissítése

Ha Azure-alkalmazás konfigurációban módosítja az adatokat, előfordulhat, hogy a módosítások automatikusan frissülnek a Kubernetes-fürtben. Az alábbi példában a Kubernetes-szolgáltató percenként ellenőrzi az Azure App Configuration frissítéseit. A társított konfigurációtérkép és titkos kód csak a módosítások észlelésekor lesz újragenerálva. A konfigurációváltozások figyelésével kapcsolatos további információkért tekintse meg a konfigurációfrissítés ajánlott eljárásait.

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

Key Vault-hivatkozások

Hitelesítés

Az alábbi példában egy Key Vault egy szolgáltatásnévvel hitelesítve van, míg az összes többi Key Vault egy felhasználó által hozzárendelt felügyelt identitással van hitelesítve.

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>

A titkos kódok típusai

Jelenleg két Kubernetes beépített titkos kódtípus, az Átlátszatlan és a TLS támogatott. A Key Vault-hivatkozásokból feloldott titkos kulcsok alapértelmezés szerint átlátszatlan titkos kódtípusként vannak mentve. Ha rendelkezik Key Vault-hivatkozással egy tanúsítványra, és TLS-titkos típusként szeretné menteni, hozzáadhat egy címkét a következő névvel és értékkel a Key Vault-referenciához a Azure-alkalmazás Konfigurációban. Ezzel létre fog hozni egy titkos kulcsot, amelynek típusa a kubernetes.io/tls Key Vault-referenciának a kulcsáról lesz elnevezve.

Név Érték
.kubernetes.secret.type kubernetes.io/tls

Az alábbi példák azt mutatják be, hogy az adatok hogyan vannak feltöltve a létrehozott titkos kulcsokban, különböző típusokkal.

Feltételezve, hogy egy alkalmazáskonfigurációs áruházban a Key Vault alábbi hivatkozásai vannak:

kulcs Érték címkét
app1-secret1 <Key Vault-referencia 1> {}
app1-secret2 <Key Vault-referencia 2> {}
app1-certificate <Key Vault-referencia 3> {".kubernetes.secret.type": "kubernetes.io/tls"}

Az alábbi minta átlátszatlan és TLS típusú titkos kulcsokat hoz létre.

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>

A létrehozott titkos kódok a következő adatokkal vannak feltöltve:

name: secret-created-by-appconfig-provider
type: Opaque
data:
  app1-secret1: <secret value retrieved from Key Vault>
  app1-secret2: <secret value retrieved from Key Vault>
name: app1-certificate
type: kubernetes.io/tls
data:
  tls.crt: |
    <certificate data retrieved from Key Vault>
  tls.key: |
    <certificate key retrieved from Key Vault>

Titkos kulcsok frissítése a Key Vaultból

A kulcstartók titkos kulcsainak frissítéséhez általában újra kell betölteni a megfelelő Key Vault-hivatkozásokat Azure-alkalmazás konfigurációból. A tulajdonsággal spec.secret.refresh azonban egymástól függetlenül frissítheti a titkos kulcsokat a Key Vaultból. Ez különösen hasznos annak biztosításához, hogy a számítási feladat automatikusan átvegye a frissített titkos kulcsokat a Key Vaultból a titkos kulcsok forgatása során. Vegye figyelembe, hogy a titkos kulcs legújabb verziójának betöltéséhez a Key Vault-hivatkozás nem lehet verziószámozott titkos kód.

Az alábbi minta óránként frissíti a Key Vault összes nem verziószámozott titkos kulcsát.

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

Funkciójelzők

Az alábbi példában a funkciójelzők, a kezdőbetűkkel app1 és az azzal egyenértékű common címkékkel 10 percenként lesznek letöltve és frissítve. Vegye figyelembe, hogy a szolgáltatásjelölőknek a létrehozott konfigurációtérképen való feltöltéséhez a tulajdonságnak configMapData.type vagy jsona 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

Igény szerinti frissítés

Bár beállíthatja az automatikus adatfrissítést, előfordulhat, hogy igény szerinti frissítést szeretne aktiválni, hogy lekérje a legújabb adatokat az Alkalmazáskonfigurációból és a Key Vaultból. Ezt úgy teheti meg, hogy hozzáad vagy frissít minden széljegyzetet a metadata.annotationsAzureAppConfigurationProviderszakaszában. A Kubernetes-szolgáltató ezután egyezteti és frissíti a konfigurációtérképet és a titkos kulcsot az Alkalmazáskonfigurációs tároló és a Key Vault legújabb adataival.

Az alábbi példában a AzureAppConfigurationProvider program egy új széljegyzettel frissül. A módosítás után alkalmazza a módosításokat kubectl apply igény szerinti frissítés indításához.

apiVersion: azconfig.io/v1
kind: AzureAppConfigurationProvider
metadata:
  name: appconfigurationprovider-sample
  annotations:
    key1: value1
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>

Konfigurációtérkép-használat

A Kubernetesben futó alkalmazások általában környezeti változókként vagy konfigurációs fájlokként használják a ConfigMap-et. Ha a configMapData.type tulajdonság hiányzik vagy alapértelmezett értékre van állítva, a konfigurációtérkép a Azure-alkalmazás konfigurációból lekért adatok tételes listájával van feltöltve, amely könnyen felhasználható környezeti változókként. Ha a configMapData.type tulajdonság json, yaml vagy properties értékre van állítva, a Azure-alkalmazás Configuration szolgáltatásból lekért adatok egyetlen elembe vannak csoportosítva a létrehozott ConfigMap tulajdonság által configMapData.key megadott kulcsnévvel, amely csatlakoztatott fájlként használható.

Az alábbi példák bemutatják, hogyan történik az adatok feltöltése a létrehozott konfigurációtérképen a configMapData.type tulajdonság különböző beállításaival.

Feltételezve, hogy egy alkalmazáskonfigurációs áruházban ezek a kulcsértékek szerepelnek:

kulcs Érték
1. kulcs érték1
2. kulcs érték2
key3 érték3

És a configMapData.type tulajdonság hiányzik vagy a következőre defaultvan állítva:

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

A létrehozott ConfigMap a következő adatokkal van feltöltve:

data:
  key1: value1
  key2: value2
  key3: value3