Share via


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

Az alábbi hivatkozás a Azure-alkalmazás Konfigurációs Kubernetes-szolgáltató v1.3.0á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
endpoint A Azure-alkalmazás Konfiguráció végpontja, amelyből le szeretné kérni a kulcsértékeket. Alternatív húr
connectionStringReference Az Azure-alkalmazás konfigurációs kapcsolati sztring tartalmazó Kubernetes-titkos kód neve. Alternatív húr
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. false logikai
target A lekért kulcsértékek célja a Kubernetesben. true object
auth A Azure-alkalmazás Konfiguráció eléréséhez szükséges hitelesítési módszer. false object
konfiguráció A kulcsértékek lekérdezésének és feldolgozásának beállításai Azure-alkalmazás konfigurációban. false object
titkos kód A Key Vault-hivatkozások beállításai Azure-alkalmazás konfigurációban. Feltételes object
featureFlag A Azure-alkalmazás Konfiguráció funkciójelzőinek beállításai. false object

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. true húr
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. false object

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ó húr
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 húr
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ó húr

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. false húr
workloadIdentity A számítási feladatok identitásának használatára vonatkozó beállítások. false object
managedIdentityClientId A virtuálisgép-méretezési csoport felhasználó által hozzárendelt felügyelt identitásának ügyfélazonosítója. false húr

A spec.auth.workloadIdentity tulajdonság a következő gyermektulajdonságokat tartalmazza. Az egyiket meg kell adni.

Név Leírás Kötelező Típus
managedIdentityClientId A számítási feladat identitásához társított, felhasználó által hozzárendelt felügyelt identitás ügyfélazonosítója. Alternatív húr
managedIdentityClientIdReference A felhasználó által hozzárendelt felügyelt identitás ügyfélazonosítója egy konfigurációtérképről kérhető le. A konfigurációtérképnek ugyanabban a névtérben kell lennie, mint a Kubernetes-szolgáltatónak. Alternatív object

A spec.auth.workloadIdentity.managedIdentityClientIdReference tulajdonság a következő gyermektulajdonságokat tartalmazza.

Név Leírás Kötelező Típus
configMap Annak a konfigurációtérképnek a neve, amelyben a felhasználó által hozzárendelt felügyelt identitás ügyfélazonosítója megtalálható. true húr
kulcs A felhasználó által hozzárendelt felügyelt identitás ügyfélazonosítójának értékét tartalmazó kulcsnév. true húr

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. false objektumtömb
trimKeyPrefixes A levágandó kulcselőtagok listája. false sztringtömb
frissítéséből 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. false object

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 húr
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. false húr
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 húr

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. false 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. true object
interval 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. false 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. true húr
label Egy kulcs-érték címkéje. false húr

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
target A kubernetesben lekért titkos kódok célja. true object
auth A Key Vaultok eléréséhez szükséges hitelesítési módszer. false object
frissítéséből 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. false object

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

Név Leírás Kötelező Típus
secretName A létrehozandó Kubernetes-titkos kód neve. true húr

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. false húr
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. Ugyanazokkal a gyermektulajdonságokkal rendelkezik, mint a spec.auth.workloadIdentity. false object
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. false húr
keyVaults Az egyes Key Vaultok hitelesítési módszerei. false 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. true húr
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. false húr
workloadIdentity A Key Vaulttal való hitelesítéshez használt számítási feladatok identitásának beállításai. Ugyanazokkal a gyermektulajdonságokkal rendelkezik, mint a spec.auth.workloadIdentity. false object
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. false húr

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. false logikai
interval 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. true 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. false objektumtömb
frissítéséből 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. false object

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 húr
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. false húr
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 húr

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. false logikai
interval 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. false 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 konfiguráció Térképek/titkos kulcs előállításához, engedélyezheti a podok automatikus horizontális skálázását a következő beállítással autoscaling.enabledtrue: .

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 az ügyfél-azonosítóját a létrehozás után.

  4. Hozza létre az összevont identitás hitelesítő adatait a felügyelt identitás, az OIDC-kiállító és a tulajdonos között az Azure CLI használatával.

    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. 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.

  6. Állítsa be a spec.auth.workloadIdentity.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:
        workloadIdentity:
          managedIdentityClientId: <your-managed-identity-client-id>
    

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

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. Gyakori, hogy több kulcsértéket is frissít, de nem szeretné, hogy a fürt a frissítés közepén módosítást váltson ki. A konfigurációk konzisztenciájának fenntartása érdekében kulcsérték használatával jelezheti a frissítés befejezését. Ezt a kulcs-értéket sentinel kulcsnak nevezzük. A Kubernetes-szolgáltató figyelheti ezt a kulcsértéket, és a konfigurációtérkép és a titkos kód csak akkor lesz újragenerálva frissített adatokkal, ha változást észlel a sentinel kulcsban.

Az alábbi példában a rendszer percenként lekérdez egy névvel ellátott app1_sentinel kulcsértéket, és a konfiguráció minden alkalommal frissül, amikor változásokat észlel a sentinel kulcsban.

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

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 szerint Érték
.kubernetes.secret.type kubernetes.io/tls

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.

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

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