Referenční informace ke zprostředkovateli Kubernetes konfigurace Aplikace Azure
Následující odkaz popisuje vlastnosti podporované poskytovatelem kubernetes v2.1.0
konfigurace Aplikace Azure . Další informace o změně najdete v poznámkách k verzi.
Vlastnosti
Prostředek AzureAppConfigurationProvider
má následující podřízené vlastnosti nejvyšší úrovně pod položkou spec
. Buď endpoint
nebo connectionStringReference
musí být zadán.
Název | Popis | Povinní účastníci | Typ |
---|---|---|---|
endpoint | Koncový bod konfigurace Aplikace Azure, ze kterého chcete načíst hodnoty klíče. | alternativa | string |
connectionStringReference | Název tajného kódu Kubernetes, který obsahuje připojovací řetězec konfigurace Aplikace Azure. | alternativa | string |
replicaDiscoveryEnabled | Nastavení určující, jestli se repliky Aplikace Azure Konfigurace automaticky zjistí a použijí pro převzetí služeb při selhání. Pokud vlastnost chybí, použije se výchozí hodnota true . |
false (nepravda) | bool |
loadBalancingEnabled | Nastavení, které umožňuje vaší úloze distribuovat požadavky do konfigurace aplikace napříč všemi dostupnými replikami. Pokud vlastnost chybí, použije se výchozí hodnota false . |
false (nepravda) | bool |
target | Cíl načtených hodnot klíčů v Kubernetes. | true | objekt |
auth | Metoda ověřování pro přístup k Aplikace Azure Configuration. | false (nepravda) | objekt |
konfigurace | Nastavení pro dotazování a zpracování hodnot klíče v Aplikace Azure Configuration. | false (nepravda) | objekt |
Tajný kód | Nastavení pro odkazy služby Key Vault v konfiguraci Aplikace Azure. | podmíněný | objekt |
featureFlag | Nastavení příznaků funkcí v konfiguraci Aplikace Azure. | false (nepravda) | objekt |
Vlastnost spec.target
má následující podřízenou vlastnost.
Název | Popis | Povinní účastníci | Typ |
---|---|---|---|
configMapName | Název objektu ConfigMap, který se má vytvořit. | true | string |
configMapData | Nastavení, které určuje, jak mají být načtená data naplněna ve vygenerované objektu ConfigMap. | false (nepravda) | objekt |
spec.target.configMapData
Pokud vlastnost není nastavena, vygenerovaná objekt ConfigMap se naplní seznamem hodnot klíčů načtených z Aplikace Azure Configuration, což umožňuje, aby objekt ConfigMap byl využit jako proměnné prostředí. Tuto vlastnost aktualizujte, pokud chcete objekt ConfigMap využívat jako připojený soubor. Tato vlastnost má následující podřízené vlastnosti.
Název | Popis | Povinní účastníci | Typ |
---|---|---|---|
type | Nastavení, které určuje, jak se načtená data vytvářejí ve vygenerované objektu ConfigMap. Povolené hodnoty zahrnují default , json yaml a properties . |
optional | string |
key | Název klíče načtených dat, pokud je nastavena type na json hodnotu , yaml nebo properties . Pokud je objekt ConfigMap nastavený tak, aby byl využit jako připojený soubor, nastavte ho na název souboru. |
podmíněný | string |
oddělovač | Oddělovač, který se používá k výstupu dat ConfigMap v hierarchickém formátu, pokud je typ nastaven na json nebo yaml . Oddělovač je ve výchozím nastavení prázdný a vygenerovaný objekt ConfigMap obsahuje hodnoty klíčů v původní podobě. Toto nastavení nakonfigurujte jenom v případě, že zavaděč konfiguračního souboru použitého v aplikaci nemůže načíst hodnoty klíčů bez převodu na hierarchický formát. |
optional | string |
Tato spec.auth
vlastnost se nevyžaduje, pokud je připojovací řetězec obchodu App Configuration k dispozici nastavením spec.connectionStringReference
vlastnosti. V opačném případě se k ověřování použije jedna z identit, instančního objektu, identity úlohy nebo spravované identity. Má spec.auth
následující podřízené vlastnosti. Je třeba zadat pouze jeden z nich. Pokud žádná z nich není nastavená, použije se spravovaná identita přiřazená systémem škálovací sady virtuálních počítačů.
Název | Popis | Povinní účastníci | Typ |
---|---|---|---|
servicePrincipalReference | Název tajného kódu Kubernetes, který obsahuje přihlašovací údaje instančního objektu. Tajný klíč musí být ve stejném oboru názvů jako poskytovatel Kubernetes. | false (nepravda) | string |
workloadIdentity | Nastavení pro použití identity úloh. | false (nepravda) | objekt |
managedIdentityClientId | ID klienta spravované identity přiřazené uživatelem škálovací sady virtuálních počítačů. | false (nepravda) | string |
Vlastnost spec.auth.workloadIdentity
má následující podřízenou vlastnost.
Název | Popis | Povinní účastníci | Typ |
---|---|---|---|
serviceAccountName | Název účtu služby přidruženého k identitě úlohy. | true | string |
Má spec.configuration
následující podřízené vlastnosti.
Název | Popis | Povinní účastníci | Typ |
---|---|---|---|
voliči | Seznam selektorů pro filtrování klíč-hodnota. | false (nepravda) | Pole objektů |
trimKeyPrefixes | Seznam předpon klíčů, které se mají oříznout. | false (nepravda) | Řetězcové pole |
dat | Nastavení pro aktualizaci hodnot klíčů z Aplikace Azure Konfigurace. Pokud vlastnost chybí, hodnoty klíče z Aplikace Azure Konfigurace se neaktualizuje. | false (nepravda) | objekt |
Pokud vlastnost spec.configuration.selectors
není nastavená, stáhnou se všechny hodnoty klíčů bez popisku. Obsahuje pole objektů selektoru, které mají následující podřízené vlastnosti. Všimněte si, že hodnoty klíče posledního selektoru mají přednost a přepíší všechny překrývající se klíče z předchozích selektorů.
Název | Popis | Povinní účastníci | Typ |
---|---|---|---|
keyFilter | Filtr klíčů pro dotazování hodnot klíčů. Tato vlastnost a snapshotName vlastnost by neměly být nastaveny současně. |
alternativa | string |
labelFilter | Filtr popisků pro dotazování hodnot klíč-hodnota. Tato vlastnost a snapshotName vlastnost by neměly být nastaveny současně. |
false (nepravda) | string |
snapshotName | Název snímku, ze kterého se načtou hodnoty klíče. Tato vlastnost by neměla být použita ve spojení s jinými vlastnostmi. | alternativa | string |
Vlastnost spec.configuration.refresh
má následující podřízené vlastnosti.
Název | Popis | Povinní účastníci | Typ |
---|---|---|---|
enabled | Nastavení určující, jestli se hodnoty klíče z Aplikace Azure Konfigurace automaticky aktualizují. Pokud vlastnost chybí, použije se výchozí hodnota false . |
false (nepravda) | bool |
Monitorování | Hodnoty klíčů monitorované pro detekci změn, neboli klíče sentinelu. Hodnoty klíčů z Aplikace Azure Konfigurace se aktualizují jenom v případě, že se změní alespoň jedna z monitorovaných hodnot klíče. Pokud tato vlastnost chybí, budou všechny vybrané hodnoty klíče monitorovány pro aktualizaci. | false (nepravda) | objekt |
interval | Interval, ve kterém se hodnoty klíče aktualizují z konfigurace Aplikace Azure. Musí být větší nebo rovna 1 sekundě. Pokud vlastnost chybí, použije se výchozí hodnota 30 sekund. | false (nepravda) | řetězec doby trvání |
Jedná se spec.configuration.refresh.monitoring.keyValues
o pole objektů, které mají následující podřízené vlastnosti.
Název | Popis | Povinní účastníci | Typ |
---|---|---|---|
key | Klíč klíč-hodnota. | true | string |
popisek | Popisek hodnoty klíče. | false (nepravda) | string |
Vlastnost spec.secret
má následující podřízené vlastnosti. Vyžaduje se, pokud se očekává, že se stáhnou nějaké odkazy na službu Key Vault. Další informace o podpoře předdefinovaných typů tajných kódů Kubernetes najdete v tématu Typy tajných kódů.
Název | Popis | Povinní účastníci | Typ |
---|---|---|---|
target | Cíl načtených tajných kódů v Kubernetes. | true | objekt |
auth | Metoda ověřování pro přístup ke službě Key Vault. | false (nepravda) | objekt |
dat | Nastavení pro aktualizaci dat ze služby Key Vault. Pokud vlastnost chybí, data ze služby Key Vault se neaktualizuje, pokud se znovu nenačtou odpovídající odkazy služby Key Vault. | false (nepravda) | objekt |
Vlastnost spec.secret.target
má následující podřízenou vlastnost.
Název | Popis | Povinní účastníci | Typ |
---|---|---|---|
secretName | Název tajného kódu Kubernetes, který se má vytvořit. | true | string |
spec.secret.auth
Pokud vlastnost není nastavená, použije se spravovaná identita přiřazená systémem. Má následující podřízené vlastnosti.
Název | Popis | Povinní účastníci | Typ |
---|---|---|---|
servicePrincipalReference | Název tajného kódu Kubernetes, který obsahuje přihlašovací údaje instančního objektu používaného k ověřování pomocí služby Key Vault, které nemají zadané jednotlivé metody ověřování. | false (nepravda) | string |
workloadIdentity | Nastavení identity úlohy používané k ověřování ve službě Key Vault, které nemají zadané jednotlivé metody ověřování. Má stejnou podřízenou vlastnost jako spec.auth.workloadIdentity . |
false (nepravda) | objekt |
managedIdentityClientId | ID klienta spravované identity přiřazené uživatelem škálovací sady virtuálních počítačů, které se používají k ověřování ve službě Key Vault, které nemají zadané jednotlivé metody ověřování. | false (nepravda) | string |
keyVaults | Metody ověřování pro jednotlivé trezory klíčů. | false (nepravda) | Pole objektů |
Metodu ověřování jednotlivých trezorů klíčů je možné zadat s následujícími vlastnostmi. Jedna z hodnot managedIdentityClientId
nebo workloadIdentity
servicePrincipalReference
musí být poskytována.
Název | Popis | Povinní účastníci | Typ |
---|---|---|---|
uri | Identifikátor URI služby Key Vault. | true | string |
servicePrincipalReference | Název tajného klíče Kubernetes, který obsahuje přihlašovací údaje instančního objektu používaného k ověřování ve službě Key Vault. | false (nepravda) | string |
workloadIdentity | Nastavení identity úlohy používané k ověřování ve službě Key Vault. Má stejnou podřízenou vlastnost jako spec.auth.workloadIdentity . |
false (nepravda) | objekt |
managedIdentityClientId | ID klienta spravované identity přiřazené uživatelem škálovací sady virtuálních počítačů sloužící k ověřování ve službě Key Vault. | false (nepravda) | string |
Vlastnost spec.secret.refresh
má následující podřízené vlastnosti.
Název | Popis | Povinní účastníci | Typ |
---|---|---|---|
enabled | Nastavení určující, jestli se data ze služby Key Vault automaticky aktualizují. Pokud vlastnost chybí, použije se výchozí hodnota false . |
false (nepravda) | bool |
interval | Interval, ve kterém se data aktualizují ze služby Key Vault. Musí být větší nebo rovna 1 minutě. Aktualizace služby Key Vault je nezávislá na aktualizaci konfigurace aplikace nakonfigurované prostřednictvím spec.configuration.refresh . |
true | řetězec doby trvání |
Vlastnost spec.featureFlag
má následující podřízené vlastnosti. Vyžaduje se, pokud se očekává, že se stáhnou nějaké příznaky funkcí.
Název | Popis | Povinní účastníci | Typ |
---|---|---|---|
voliči | Seznam selektorů pro filtrování příznaků funkcí | false (nepravda) | Pole objektů |
dat | Nastavení pro aktualizaci příznaků funkcí z konfigurace Aplikace Azure. Pokud vlastnost chybí, příznaky funkcí z Aplikace Azure Konfigurace se neaktualizuje. | false (nepravda) | objekt |
spec.featureFlag.selectors
Pokud vlastnost není nastavená, příznaky funkcí se nestáhnou. Obsahuje pole objektů selektoru, které mají následující podřízené vlastnosti. Všimněte si, že příznaky funkcí posledního selektoru mají přednost a přepíší všechny překrývající se klávesy z předchozích selektorů.
Název | Popis | Povinní účastníci | Typ |
---|---|---|---|
keyFilter | Klíčový filtr pro dotazování příznaků funkcí. Tato vlastnost a snapshotName vlastnost by neměly být nastaveny současně. |
alternativa | string |
labelFilter | Filtr popisků pro dotazování příznaků funkcí. Tato vlastnost a snapshotName vlastnost by neměly být nastaveny současně. |
false (nepravda) | string |
snapshotName | Název snímku, ze kterého se načítají příznaky funkcí. Tato vlastnost by neměla být použita ve spojení s jinými vlastnostmi. | alternativa | string |
Vlastnost spec.featureFlag.refresh
má následující podřízené vlastnosti.
Název | Popis | Povinní účastníci | Typ |
---|---|---|---|
enabled | Nastavení určující, jestli se příznaky funkcí z Aplikace Azure Konfigurace aktualizují automaticky. Pokud vlastnost chybí, použije se výchozí hodnota false . |
false (nepravda) | bool |
interval | Interval, ve kterém se příznaky funkcí aktualizují z Aplikace Azure Konfigurace. Musí být větší nebo rovna 1 sekundě. Pokud vlastnost chybí, použije se výchozí hodnota 30 sekund. | false (nepravda) | řetězec doby trvání |
Instalace
Pomocí následujícího helm install
příkazu nainstalujte poskytovatele Aplikace Azure Configuration Kubernetes. Úplný seznam parametrů a jejich výchozích hodnot najdete v souboru helm-values.yaml . Výchozí hodnoty můžete přepsat předáním --set
příznaku příkazu.
helm install azureappconfiguration.kubernetesprovider \
oci://mcr.microsoft.com/azure-app-configuration/helmchart/kubernetes-provider \
--namespace azappconfig-system \
--create-namespace
Automatické škálování
Ve výchozím nastavení je automatické škálování zakázané. Pokud však máte více AzureAppConfigurationProvider
prostředků k vytvoření více objektů ConfigMaps/Secrets, můžete povolit horizontální automatické škálování podu nastavením na autoscaling.enabled
true
.
helm install azureappconfiguration.kubernetesprovider \
oci://mcr.microsoft.com/azure-app-configuration/helmchart/kubernetes-provider \
--namespace azappconfig-system \
--create-namespace
--set autoscaling.enabled=true
Shromažďování dat
Software může shromažďovat informace o vás a vašem používání softwaru a posílat ho společnosti Microsoft. Společnost Microsoft může tyto informace použít k poskytování služeb a zlepšování svých produktů a služeb. Telemetrii můžete vypnout nastavením requestTracing.enabled=false
při instalaci poskytovatele Aplikace Azure Configuration Kubernetes. V softwaru jsou také některé funkce, které vám a Microsoftu umožňují shromažďovat data od uživatelů vašich aplikací. Pokud tyto funkce používáte, musíte dodržovat příslušné zákony, včetně poskytování vhodných oznámení uživatelům vašich aplikací společně s kopií prohlášení společnosti Microsoft o zásadách ochrany osobních údajů společnosti Microsoft. Prohlášení společnosti Microsoft o ochraně osobních údajů je umístěno na adrese https://go.microsoft.com/fwlink/?LinkID=824704. Další informace o shromažďováníach Užitím tohoto softwaru vyjadřujete svůj souhlas s těmito postupy.
Příklady
Ověřování
Použití spravované identity přiřazené systémem škálovací sady virtuálních počítačů
Povolte spravovanou identitu přiřazenou systémem ve škálovací sadě virtuálních počítačů používanou clusterem Azure Kubernetes Service (AKS).
Udělte roli Čtenář dat app configuration app configuration spravované identity přiřazené systémem v Aplikace Azure Configuration.
Do clusteru AKS nasaďte následující ukázkový
AzureAppConfigurationProvider
prostředek.apiVersion: azconfig.io/v1 kind: AzureAppConfigurationProvider metadata: name: appconfigurationprovider-sample spec: endpoint: <your-app-configuration-store-endpoint> target: configMapName: configmap-created-by-appconfig-provider
Použití spravované identity přiřazené uživatelem škálovací sady virtuálních počítačů
Vytvořte spravovanou identitu přiřazenou uživatelem a po vytvoření si poznamenejte její ID klienta.
Přiřaďte spravovanou identitu přiřazenou uživatelem ke škálovací sadě virtuálních počítačů používanou clusterem Azure Kubernetes Service (AKS).
Udělte roli Čtenář dat aplikace app configuration spravované identity přiřazené uživatelem v Aplikace Azure Configuration.
spec.auth.managedIdentityClientId
Nastavte vlastnost na ID klienta spravované identity přiřazené uživatelem v následujícím ukázkovémAzureAppConfigurationProvider
prostředku a nasaďte ji do clusteru AKS.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>
Použití instančního objektu
Udělte roli Čtenář dat konfigurace aplikace instančního objektu v konfiguraci Aplikace Azure.
Vytvořte tajný klíč Kubernetes ve stejném oboru názvů jako
AzureAppConfigurationProvider
prostředek a přidejte do tajného klíče azure_client_id, azure_client_secret a azure_tenant_id instančního objektu.spec.auth.servicePrincipalReference
Nastavte vlastnost na název tajného kódu v následujícím ukázkovémAzureAppConfigurationProvider
prostředku a nasaďte ji do clusteru Kubernetes.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>
Použití identity úlohy
Povolte identitu úloh v clusteru Azure Kubernetes Service (AKS).
Získejte adresu URL vystavitele OIDC clusteru AKS.
Vytvořte spravovanou identitu přiřazenou uživatelem a poznamenejte si id klienta, ID tenanta, název a skupinu prostředků.
Udělte roli Čtenář dat aplikace app configuration spravované identity přiřazené uživatelem v Aplikace Azure Configuration.
Vytvořte účet služby přidáním souboru YAML (např . serviceAccount.yaml) s následujícím obsahem do adresáře obsahujícího vaše soubory nasazení AKS. Účet služby se vytvoří, když použijete všechny změny nasazení v clusteru AKS (např. pomocí
kubectl apply
). Nahraďte<your-managed-identity-client-id>
ID klienta a<your-managed-identity-tenant-id>
ID tenanta spravované identity přiřazené uživatelem, která byla právě vytvořena. Nahraďte<your-service-account-name>
upřednostňovaným názvem.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>
Vytvořte přihlašovací údaje federované identity pro spravovanou identitu přiřazenou uživatelem pomocí Azure CLI. Nahraďte
<user-assigned-identity-name>
název a<resource-group>
skupinu prostředků nově vytvořené spravované identity přiřazené uživatelem. Nahraďte<aks-oidc-issuer>
adresou URL vystavitele OIDC clusteru AKS. Nahraďte<your-service-account-name>
názvem nově vytvořeného účtu služby. Nahraďte<federated-identity-credential-name>
upřednostňovaným názvem přihlašovacích údajů federované identity.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
Všimněte si, že předmět přihlašovacích údajů federované identity by měl odpovídat tomuto formátu:
system:serviceaccount:<service-account-namespace>:<service-account-name>
.spec.auth.workloadIdentity.serviceAccountName
Nastavte vlastnost na název účtu služby v následujícím ukázkovémAzureAppConfigurationProvider
prostředku. Ujistěte se, žeAzureAppConfigurationProvider
prostředek a účet služby jsou ve stejném oboru názvů.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>
Použití připojovací řetězec
Vytvořte tajný klíč Kubernetes ve stejném oboru názvů jako
AzureAppConfigurationProvider
prostředek a přidejte Aplikace Azure Configuration připojovací řetězec s klíčem azure_app_configuration_connection_string v tajném kódu.spec.connectionStringReference
Nastavte vlastnost na název tajného kódu v následujícím ukázkovémAzureAppConfigurationProvider
prostředku a nasaďte ji do clusteru Kubernetes.apiVersion: azconfig.io/v1 kind: AzureAppConfigurationProvider metadata: name: appconfigurationprovider-sample spec: connectionStringReference: <your-connection-string-secret-name> target: configMapName: configmap-created-by-appconfig-provider
Výběr klíč-hodnota
selectors
Pomocí vlastnosti můžete filtrovat hodnoty klíče, které se mají stáhnout z Aplikace Azure Configuration.
Následující ukázka stáhne všechny hodnoty klíčů bez popisku.
apiVersion: azconfig.io/v1
kind: AzureAppConfigurationProvider
metadata:
name: appconfigurationprovider-sample
spec:
endpoint: <your-app-configuration-store-endpoint>
target:
configMapName: configmap-created-by-appconfig-provider
V následujícím příkladu se k načtení dvou sad hodnot klíče používají dva selektory, z nichž každý má jedinečné popisky. Je důležité si uvědomit, že hodnoty posledního selektoru mají přednost a přepíší všechny překrývající se klávesy z předchozích selektorů.
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
Snímek lze použít samostatně nebo společně s jinými selektory klíč-hodnota. V následující ukázce načtete hodnoty klíčů společné konfigurace ze snímku a potom některé z nich přepíšete hodnotami klíčů pro vývoj.
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
Oříznutí předpony klíče
Následující ukázka pomocí trimKeyPrefixes
vlastnosti před přidáním do vygenerovaného objektu ConfigMap oříznou dvě předpony z názvů klíčů.
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]
Aktualizace konfigurace
Když v konfiguraci Aplikace Azure provedete změny dat, můžete chtít, aby se tyto změny automaticky aktualizovaly v clusteru Kubernetes. Je běžné aktualizovat více hodnot klíčů, ale nechcete, aby cluster zvedá změnu uprostřed aktualizace. Pokud chcete zachovat konzistenci konfigurace, můžete použít klíč-hodnota k označení dokončení aktualizace. Tato hodnota klíče se označuje jako klíč sentinelu. Zprostředkovatel Kubernetes může tuto klíčovou hodnotu monitorovat a objekt ConfigMap a Secret se znovu vygenerují pouze s aktualizovanými daty, jakmile se v klíči sentinelu zjistí změna.
V následující ukázce se každou minutu dotazuje pojmenovaná app1_sentinel
hodnota klíče a konfigurace se aktualizuje při každém zjištění změn v klíči sentinelu.
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
Reference ke službě Key Vault
Ověřování
V následující ukázce se jeden trezor klíčů ověřuje pomocí instančního objektu, zatímco všechny ostatní trezory klíčů se ověřují pomocí spravované identity přiřazené uživatelem.
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>
Typy tajných kódů
Aktuálně se podporují dva předdefinované typy tajných kódů, neprůpané a TLS Kubernetes. Tajné kódy vyřešené z odkazů služby Key Vault se ve výchozím nastavení ukládají jako neprůpaný typ tajného kódu . Pokud máte odkaz služby Key Vault na certifikát a chcete ho uložit jako typ tajného klíče TLS, můžete přidat značku s následujícím názvem a hodnotou do odkazu služby Key Vault v konfiguraci Aplikace Azure. Tímto způsobem se vygeneruje tajný klíč s kubernetes.io/tls
typem a pojmenuje se za klíč odkazu služby Key Vault.
Jméno | Hodnota |
---|---|
.kubernetes.secret.type | kubernetes.io/tls |
Následující příklady ukazují, jak se data naplní ve vygenerovaných tajných kódů různými typy.
Za předpokladu, že úložiště Služby App Configuration obsahuje tyto odkazy na službu Key Vault:
key | hodnota | značky |
---|---|---|
app1-secret1 | <Referenční informace ke službě Key Vault 1> | {} |
app1-secret2 | <Referenční informace ke službě Key Vault 2> | {} |
app1-certificate | <Referenční informace ke službě Key Vault 3> | {".kubernetes.secret.type": "kubernetes.io/tls"} |
Následující ukázka generuje tajné kódy neprůhlených i tls typů.
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>
Vygenerované tajné kódy se naplní následujícími daty:
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>
Aktualizace tajných kódů ze služby Key Vault
Aktualizace tajných kódů ze služby Key Vault obvykle vyžaduje opětovné načtení odpovídajících odkazů služby Key Vault z konfigurace Aplikace Azure. S spec.secret.refresh
vlastností ale můžete aktualizovat tajné kódy ze služby Key Vault nezávisle. To je zvlášť užitečné pro zajištění toho, aby vaše úloha během obměny tajných kódů automaticky získala všechny aktualizované tajné kódy ze služby Key Vault. Upozorňujeme, že pokud chcete načíst nejnovější verzi tajného kódu, nesmí být odkaz služby Key Vault tajný kód verze.
Následující ukázka aktualizuje všechny tajné kódy, které nejsou verzemi, ze služby Key Vault každou hodinu.
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
Příznaky funkcí
V následující ukázce se příznaky funkcí s klíči začínajícími app1
na popisky a popisky, které common
se stahují a aktualizují každých 10 minut. Všimněte si, že chcete-li naplnit příznaky funkcí ve vygenerované objektu ConfigMap, configMapData.type
musí být json
vlastnost nebo 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
Spotřeba configmap
Aplikace spuštěné v Kubernetes obvykle využívají objekt ConfigMap buď jako proměnné prostředí, nebo jako konfigurační soubory. configMapData.type
Pokud vlastnost chybí nebo je nastavena na výchozí, objekt ConfigMap se naplní seznamem dat načtených z Aplikace Azure Konfigurace, které lze snadno využívat jako proměnné prostředí. Pokud je vlastnost nastavena configMapData.type
na json, yaml nebo vlastnosti, data načtená z Aplikace Azure Configuration se seskupí do jedné položky s názvem klíče určeným configMapData.key
vlastností vygenerované ConfigMap, která se dá použít jako připojený soubor.
Následující příklady ukazují, jak se data naplní ve vygenerovaném objektu ConfigMap s různými nastaveními configMapData.type
vlastnosti.
Za předpokladu, že úložiště App Configuration má tyto hodnoty klíče:
key | hodnota |
---|---|
key1 | hodnota1 |
key2 | hodnota2 |
key3 | hodnota 3 |
A vlastnost chybí nebo je nastavena configMapData.type
na default
,
apiVersion: azconfig.io/v1
kind: AzureAppConfigurationProvider
metadata:
name: appconfigurationprovider-sample
spec:
endpoint: <your-app-configuration-store-endpoint>
target:
configMapName: configmap-created-by-appconfig-provider
Vygenerovaná mapa configmap se naplní následujícími daty:
data:
key1: value1
key2: value2
key3: value3