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 , json yaml és properties a . |
választható | húr |
kulcs | A lekért adatok kulcsneve, ha a type be van állítva json az , 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 managedIdentityClientId
meg 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.refresh alkalmazá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.enabled
true
: .
Példák
Hitelesítés
Virtuálisgép-méretezési csoport rendszer által hozzárendelt felügyelt identitásának használata
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.
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
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.
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.
Á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ásbanAzureAppConfigurationProvider
, é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
Adjon meg a szolgáltatásnév alkalmazáskonfigurációs adatolvasói szerepkört Azure-alkalmazás Konfigurációban.
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.Állítsa a
spec.auth.servicePrincipalReference
tulajdonságot a titkos kód nevére a következő mintaerőforrásbanAzureAppConfigurationProvider
, é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
Engedélyezze a számítási feladatok identitását az Azure Kubernetes Service (AKS) fürtben.
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.
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
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.
Á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ásbanAzureAppConfigurationProvider
, é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
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.Állítsa a
spec.connectionStringReference
tulajdonságot a titkos kód nevére a következő mintaerőforrásbanAzureAppConfigurationProvider
, é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 default
van á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