Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Následující referenční informace popisují vlastnosti podporované poskytovatelem v2.3.0 Kubernetes služby Azure App Configuration nebo novějším. 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 |
|---|---|---|---|
| koncový bod | Koncový bod konfigurace Aplikace Azure, ze kterého chcete načíst hodnoty klíče. | alternativa | řetězec |
| connectionStringReference | Název tajného kódu Kubernetes, který obsahuje připojovací řetězec konfigurace Aplikace Azure. | alternativa | řetězec |
| 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) | Booleova hodnota |
| 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) | Booleova hodnota |
| cíl | Cíl načtených hodnot klíčů v Kubernetes. | pravda | objekt |
| autentizace | 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ý klíč | 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. | pravda | řetězec |
| 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 |
|---|---|---|---|
| typ | Nastavení, které určuje, jak se načtená data vytvářejí ve vygenerované objektu ConfigMap. Povolené hodnoty zahrnují default, jsonyaml a properties. |
volitelný | řetězec |
| klíč | Název klíče načtených dat, pokud je nastavena type na jsonhodnotu , 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ý | řetězec |
| 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. |
volitelný | řetězec |
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) | řetězec |
| Identita pracovní zátěže | 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) | řetězec |
Vlastnost spec.auth.workloadIdentity má následující podřízenou vlastnost.
| Název | Popis | Povinní účastníci | Typ |
|---|---|---|---|
| Název_účtu služby | Název účtu služby přidruženého k identitě úlohy. | pravda | řetězec |
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 |
| aktualizovat | 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 | řetězec |
| labelFilter | Filtr popisků pro dotazování hodnot klíč-hodnota. Tato vlastnost a snapshotName vlastnost by neměly být nastaveny současně. |
false (nepravda) | řetězec |
| Filtry značek | Tag filtruje dotazy na klíčové hodnoty. Tato vlastnost a snapshotName vlastnost by neměly být nastaveny současně. Filtr tagů musí být formátován jako tag1=value1. |
false (nepravda) | Řetězcové pole |
| 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 | řetězec |
Vlastnost spec.configuration.refresh má následující podřízené vlastnosti.
| Název | Popis | Povinní účastníci | Typ |
|---|---|---|---|
| povoleno | 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) | Booleova hodnota |
| 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 |
|---|---|---|---|
| klíč | Klíč klíč-hodnota. | pravda | řetězec |
| jmenovka | Popisek hodnoty klíče. | false (nepravda) | řetězec |
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 |
|---|---|---|---|
| cíl | Cíl načtených tajných kódů v Kubernetes. | pravda | objekt |
| autentizace | Metoda ověřování pro přístup ke službě Key Vault. | false (nepravda) | objekt |
| aktualizovat | 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 |
|---|---|---|---|
| tajnéJméno | Název tajného kódu Kubernetes, který se má vytvořit. | pravda | řetězec |
| secretData | Nastavení, které určuje, jak mají být načtená data naplněna ve vygenerovaném tajném kódu. | pravda | řetězec |
spec.secret.target.secretData Pokud vlastnost není nastavená, vygenerovaný tajný kód se naplní seznamem hodnot klíčů načtených ze služby Key Vaults, což umožňuje použití tajného klíče jako proměnných prostředí. Tuto vlastnost aktualizujte, pokud chcete tajný kód použít jako připojený soubor. Tato vlastnost má následující podřízené vlastnosti.
| Název | Popis | Povinní účastníci | Typ |
|---|---|---|---|
| typ | Nastavení, které určuje, jak se načtená data vytvářejí ve vygenerovaném tajném kódu. Povolené hodnoty zahrnují default, jsonyaml a properties. |
volitelný | řetězec |
| klíč | Název klíče načtených dat, pokud je nastavena type na jsonhodnotu , yaml nebo properties. Pokud je tajný klíč nastavený tak, aby byl využit jako připojený soubor, nastavte ho na název souboru. |
podmíněný | řetězec |
| oddělovač | Oddělovač, který se používá k výstupu tajných dat 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ý tajný klíč obsahuje hodnoty klíče 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. |
volitelný | řetězec |
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) | řetězec |
| Identita pracovní zátěže | 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) | řetězec |
| Trezory klíčů | 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 managedIdentityClientIdnebo servicePrincipalReferenceworkloadIdentity musí být poskytována.
| Název | Popis | Povinní účastníci | Typ |
|---|---|---|---|
| URI | Identifikátor URI služby Key Vault. | pravda | řetězec |
| 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) | řetězec |
| Identita pracovní zátěže | 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) | řetězec |
Vlastnost spec.secret.refresh má následující podřízené vlastnosti.
| Název | Popis | Povinní účastníci | Typ |
|---|---|---|---|
| povoleno | 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) | Booleova hodnota |
| 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. |
pravda | ř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ů |
| aktualizovat | 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 | řetězec |
| labelFilter | Filtr popisků pro dotazování příznaků funkcí. Tato vlastnost a snapshotName vlastnost by neměly být nastaveny současně. |
false (nepravda) | řetězec |
| Filtry značek | Filtry tagů pro dotazování příznaků funkcí. Tato vlastnost a snapshotName vlastnost by neměly být nastaveny současně. Filtr tagů musí být formátován jako tag1=value1. |
false (nepravda) | Řetězcové pole |
| 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 | řetězec |
Vlastnost spec.featureFlag.refresh má následující podřízené vlastnosti.
| Název | Popis | Povinní účastníci | Typ |
|---|---|---|---|
| povoleno | 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) | Booleova hodnota |
| 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.enabledtrue.
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ý
AzureAppConfigurationProviderprostř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.managedIdentityClientIdNastavte vlastnost na ID klienta spravované identity přiřazené uživatelem v následujícím ukázkovémAzureAppConfigurationProviderprostř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
AzureAppConfigurationProviderprostř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.servicePrincipalReferenceNastavte vlastnost na název tajného kódu v následujícím ukázkovémAzureAppConfigurationProviderprostř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://AzureADTokenExchangeVš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.serviceAccountNameNastavte vlastnost na název účtu služby v následujícím ukázkovémAzureAppConfigurationProviderprostředku. Ujistěte se, žeAzureAppConfigurationProviderprostř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
AzureAppConfigurationProviderprostř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.connectionStringReferenceNastavte vlastnost na název tajného kódu v následujícím ukázkovémAzureAppConfigurationProviderprostř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
Filtry tagů lze také použít k filtrování klíčových hodnot. V následujícím vzorku jsou stahovány pouze klíčové hodnoty s tímto tagem env=prod .
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
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. V následující ukázce poskytovatel Kubernetes každou minutu kontroluje konfiguraci aplikací Azure. Přidružené objekty ConfigMap a Secret se znovu vygenerují pouze při zjištění změn. Pro více informací o sledování změn konfigurace viz Nejlepší praxe pro aktualizaci konfigurace.
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
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.
| Název | 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:
| klíč | 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
Aktualizace na vyžádání
I když můžete nastavit automatickou aktualizaci dat, může docházet k tomu, že budete chtít aktivovat aktualizaci na vyžádání, abyste získali nejnovější data ze služby App Configuration a Key Vaultu. To lze provést přidáním nebo aktualizací poznámek v metadata.annotations části oddílu AzureAppConfigurationProvider. Zprostředkovatel Kubernetes pak odsouhlasí a aktualizuje objekt ConfigMap a Tajný kód nejnovějšími daty z úložiště app Configuration Store a služby Key Vault.
V následujícím příkladu AzureAppConfigurationProvider se aktualizuje novou poznámkou. Po úpravě použijte změny, které používají kubectl apply k aktivaci aktualizace na vyžádání.
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>
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:
| klíč | hodnota |
|---|---|
| Klíč1 | hodnota1 |
| Klíč2 | 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