Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Aşağıdaki başvuru, Azure Uygulama Yapılandırması Kubernetes Sağlayıcısı v2.3.0 veya üzeri tarafından desteklenen özellikleri özetler. Değişiklik hakkında daha fazla bilgi için sürüm notlarına bakın.
Özellikler
Kaynağın AzureAppConfigurationProvider altında aşağıdaki üst düzey alt özellikler bulunur spec. veya endpointconnectionStringReference belirtilmesi gerekir.
| Veri Akışı Adı | Açıklama | Gerekli | Tür |
|---|---|---|---|
| uç nokta | anahtar-değerlerini almak istediğiniz Azure Uygulaması Yapılandırmasının uç noktası. | alternatif | Dize |
| connectionStringReference | Azure Uygulaması Yapılandırma bağlantı dizesi içeren Kubernetes Gizli Dizisinin adı. | alternatif | Dize |
| replicaDiscoveryEnabled | Azure Uygulaması Yapılandırmasının çoğaltmalarının otomatik olarak bulunup bulunmayacağını ve yük devretme için kullanılıp kullanılmadığını belirleyen ayar. özelliği yoksa, varsayılan değeri true kullanılır. |
yanlış | ikili |
| loadBalancingEnabled | İş yükünüzün istekleri tüm kullanılabilir çoğaltmalar arasında Uygulama Yapılandırması dağıtmasını sağlayan ayar. özelliği yoksa, varsayılan değeri false kullanılır. |
yanlış | ikili |
| hedef | Kubernetes'te alınan anahtar-değerlerin hedefi. | doğru | nesne |
| kimlik doğrulaması | Azure Uygulaması Yapılandırmasına erişmek için kimlik doğrulama yöntemi. | yanlış | nesne |
| yapılandırma | Azure Uygulaması Yapılandırmasında anahtar değerlerini sorgulama ve işleme ayarları. | yanlış | nesne |
| gizli dizi | Key Vault ayarları, Azure Uygulaması Yapılandırması'nda başvurur. | koşullu | nesne |
| featureFlag | Azure Uygulaması Yapılandırmasındaki özellik bayraklarının ayarları. | yanlış | nesne |
spec.target özelliği aşağıdaki alt özelliğe sahiptir.
| Veri Akışı Adı | Açıklama | Gerekli | Tür |
|---|---|---|---|
| configMapName | Oluşturulacak ConfigMap'in adı. | doğru | Dize |
| configMapData | Alınan verilerin oluşturulan ConfigMap'te nasıl doldurulması gerektiğini belirten ayar. | yanlış | nesne |
spec.target.configMapData Özellik ayarlanmamışsa, oluşturulan ConfigMap Azure Uygulaması Yapılandırmasından alınan anahtar-değerlerin listesiyle doldurulur ve bu da ConfigMap'in ortam değişkenleri olarak tüketilmesine olanak tanır. ConfigMap'i bağlı bir dosya olarak kullanmak istiyorsanız bu özelliği güncelleştirin. Bu özellik aşağıdaki alt özelliklere sahiptir.
| Veri Akışı Adı | Açıklama | Gerekli | Tür |
|---|---|---|---|
| Tür | Alınan verilerin oluşturulan ConfigMap'te nasıl oluşturulduğunu gösteren ayar. İzin verilen değerler , defaultve jsonyamldeğerlerini içerirproperties. |
isteğe bağlı | Dize |
| anahtar | , veya typeolarak ayarlandığında jsonyamlalınan verilerin properties anahtar adı. ConfigMap bağlı bir dosya olarak kullanılacak şekilde ayarlandıysa dosya adı olarak ayarlayın. |
koşullu | Dize |
| ayırıcı | Tür veya jsonolarak ayarlandığında ConfigMap verilerini hiyerarşik biçimde çıkarmak için yaml kullanılan sınırlayıcı. Ayırıcı varsayılan olarak boştur ve oluşturulan ConfigMap özgün biçiminde anahtar-değerler içerir. Bu ayarı yalnızca uygulamanızda kullanılan yapılandırma dosyası yükleyicisi anahtar-değerleri hiyerarşik biçime dönüştürmeden yükleyemiyorsa yapılandırın. |
isteğe bağlı | Dize |
spec.auth Uygulama Yapılandırması deponuzun bağlantı dizesi özelliği ayarlanarak spec.connectionStringReference sağlanıyorsa özellik gerekli değildir. Aksi takdirde kimliklerden, hizmet sorumlusundan, iş yükü kimliğinden veya yönetilen kimliklerden biri kimlik doğrulaması için kullanılır.
spec.auth aşağıdaki alt özelliklere sahiptir. Bunlardan yalnızca biri belirtilmelidir. Hiçbiri ayarlı değilse, sanal makine ölçek kümesinin sistem tarafından atanan yönetilen kimliği kullanılır.
| Veri Akışı Adı | Açıklama | Gerekli | Tür |
|---|---|---|---|
| servicePrincipalReference | Hizmet sorumlusunun kimlik bilgilerini içeren Kubernetes Gizli Dizisinin adı. Gizli dizi, Kubernetes sağlayıcısıyla aynı ad alanında olmalıdır. | yanlış | Dize |
| workloadIdentity | İş yükü kimliğini kullanma ayarları. | yanlış | nesne |
| managedIdentityClientId | Sanal makine ölçek kümesinin kullanıcı tarafından atanan yönetilen kimliğinin istemci kimliği. | yanlış | Dize |
spec.auth.workloadIdentity özelliği aşağıdaki alt özelliğe sahiptir.
| Veri Akışı Adı | Açıklama | Gerekli | Tür |
|---|---|---|---|
| serviceAccountName (hizmetHesap Adı) | İş yükü kimliğiyle ilişkili hizmet hesabının adı. | doğru | Dize |
spec.configuration aşağıdaki alt özelliklere sahiptir.
| Veri Akışı Adı | Açıklama | Gerekli | Tür |
|---|---|---|---|
| Seçiciler | Anahtar-değer filtreleme için seçicilerin listesi. | yanlış | nesne dizisi |
| trimKeyPrefixes | Kırpılacak anahtar ön eklerinin listesi. | yanlış | dize dizisi |
| yenileme | Azure Uygulaması Yapılandırması'ndan anahtar-değerleri yenileme ayarları. Özelliği yoksa, Azure Uygulaması Yapılandırmasındaki anahtar değerleri yenilenmez. | yanlış | nesne |
spec.configuration.selectors Özellik ayarlı değilse etiketsiz tüm anahtar-değerler indirilir. Aşağıdaki alt özelliklere sahip bir seçici nesneleri dizisi içerir. Son seçicinin anahtar değerlerinin öncelikli olduğunu ve önceki seçicilerden çakışan anahtarları geçersiz kıldığını unutmayın.
| Veri Akışı Adı | Açıklama | Gerekli | Tür |
|---|---|---|---|
| keyFilter | Anahtar-değerleri sorgulamak için anahtar filtresi. Bu özellik ve snapshotName özelliği aynı anda ayarlanmamalıdır. |
alternatif | Dize |
| labelFilter | Anahtar-değerleri sorgulamaya yönelik etiket filtresi. Bu özellik ve snapshotName özelliği aynı anda ayarlanmamalıdır. |
yanlış | Dize |
| tagFilters | Anahtar değerlerini sorgulamak için etiket filtreleri. Bu özellik ve snapshotName özelliği aynı anda ayarlanmamalıdır. Etiket filtresi şu şekilde tag1=value1biçimlendirilmelidir. |
yanlış | dize dizisi |
| snapshotName | Anahtar değerlerinin yüklendiği anlık görüntünün adı. Bu özellik diğer özelliklerle birlikte kullanılmamalıdır. | alternatif | Dize |
spec.configuration.refresh özelliği aşağıdaki alt özelliklere sahiptir.
| Veri Akışı Adı | Açıklama | Gerekli | Tür |
|---|---|---|---|
| etkinleştirildi | Azure Uygulaması Yapılandırmasındaki anahtar değerlerinin otomatik olarak yenilenip yenilenmediğini belirleyen ayar. özelliği yoksa, varsayılan değeri false kullanılır. |
yanlış | ikili |
| izleme | Değişiklik algılama için izlenen anahtar-değerler, yani sentinel anahtarları. Azure Uygulaması Yapılandırmasındaki anahtar değerleri yalnızca izlenen anahtar değerlerinden en az biri değiştirildiğinde yenilenir. Bu özellik yoksa, seçilen tüm anahtar-değerler yenileme için izlenir. | yanlış | nesne |
| aralık | Anahtar-değerlerin Azure Uygulaması Yapılandırması'ndan yenilenme aralığı. 1 saniyeden büyük veya buna eşit olmalıdır. Özelliği yoksa, varsayılan değer olan 30 saniye kullanılır. | yanlış | süre dizesi |
spec.configuration.refresh.monitoring.keyValues, aşağıdaki alt özelliklere sahip bir nesne dizisidir.
| Veri Akışı Adı | Açıklama | Gerekli | Tür |
|---|---|---|---|
| anahtar | Anahtar-değerin anahtarı. | doğru | Dize |
| etiket | Anahtar-değerin etiketi. | yanlış | Dize |
spec.secret özelliği aşağıdaki alt özelliklere sahiptir. Herhangi bir Key Vault başvurularının indirilmesi bekleniyorsa gereklidir. Kubernetes yerleşik Gizli Dizi türleri desteği hakkında daha fazla bilgi edinmek için bkz . Gizli Dizi Türleri.
| Veri Akışı Adı | Açıklama | Gerekli | Tür |
|---|---|---|---|
| hedef | Kubernetes'te alınan gizli dizilerin hedefi. | doğru | nesne |
| kimlik doğrulaması | Key Vaults'a erişmek için kimlik doğrulama yöntemi. | yanlış | nesne |
| yenileme | Key Vault'tan verileri yenileme ayarları. Özellik yoksa, ilgili Key Vault başvuruları yeniden yüklenmediği sürece Key Vault'lardan veriler yenilenmez. | yanlış | nesne |
spec.secret.target özelliği aşağıdaki alt özelliğe sahiptir.
| Veri Akışı Adı | Açıklama | Gerekli | Tür |
|---|---|---|---|
| gizliAd | Oluşturulacak Kubernetes Gizli Dizisinin adı. | doğru | Dize |
| secretData | Alınan verilerin oluşturulan Gizli Dizide nasıl doldurulması gerektiğini belirten ayar. | doğru | Dize |
spec.secret.target.secretData Özelliği ayarlanmamışsa oluşturulan Gizli Dizi, Anahtar Kasalarından alınan anahtar-değerlerin listesiyle doldurulur ve bu da Gizli Dizi'nin ortam değişkenleri olarak tüketilmesine olanak tanır. Gizli diziyi bağlı bir dosya olarak kullanmak istiyorsanız bu özelliği güncelleştirin. Bu özellik aşağıdaki alt özelliklere sahiptir.
| Veri Akışı Adı | Açıklama | Gerekli | Tür |
|---|---|---|---|
| Tür | Alınan verilerin oluşturulan Gizli Dizide nasıl oluşturulduğunu gösteren ayar. İzin verilen değerler , defaultve jsonyamldeğerlerini içerirproperties. |
isteğe bağlı | Dize |
| anahtar | , veya typeolarak ayarlandığında jsonyamlalınan verilerin properties anahtar adı. Gizli dizi bağlı bir dosya olarak kullanılacak şekilde ayarlandıysa dosya adı olarak ayarlayın. |
koşullu | Dize |
| ayırıcı | Tür veya jsonolarak ayarlandığında Gizli dizi verilerini hiyerarşik biçimde çıkarmak için yaml kullanılan sınırlayıcı. Ayırıcı varsayılan olarak boştur ve oluşturulan Gizli Dizi özgün biçiminde anahtar-değerler içerir. Bu ayarı yalnızca uygulamanızda kullanılan yapılandırma dosyası yükleyicisi anahtar-değerleri hiyerarşik biçime dönüştürmeden yükleyemiyorsa yapılandırın. |
isteğe bağlı | Dize |
spec.secret.auth Özellik ayarlı değilse, sistem tarafından atanan yönetilen kimlik kullanılır. Aşağıdaki alt özelliklere sahiptir.
| Veri Akışı Adı | Açıklama | Gerekli | Tür |
|---|---|---|---|
| servicePrincipalReference | Tek tek kimlik doğrulama yöntemleri belirtilmemiş Anahtar Kasaları ile kimlik doğrulaması için kullanılan hizmet sorumlusunun kimlik bilgilerini içeren Kubernetes Gizli Dizisinin adı. | yanlış | Dize |
| workloadIdentity | Tek tek kimlik doğrulama yöntemleri belirtilmemiş Key Vault'larla kimlik doğrulaması için kullanılan iş yükü kimliğinin ayarları. ile aynı alt özelliğe spec.auth.workloadIdentitysahiptir. |
yanlış | nesne |
| managedIdentityClientId | Tek tek kimlik doğrulama yöntemleri belirtilmemiş Anahtar Kasaları ile kimlik doğrulaması için kullanılan sanal makine ölçek kümesinin kullanıcı tarafından atanan yönetilen kimliğinin istemci kimliği. | yanlış | Dize |
| Anahtar Kasaları | Tek tek Key Vault'lar için kimlik doğrulama yöntemleri. | yanlış | nesne dizisi |
Her Key Vault'un kimlik doğrulama yöntemi aşağıdaki özelliklerle belirtilebilir. veya sağlanmalıdır managedIdentityClientIdservicePrincipalReferenceworkloadIdentity.
| Veri Akışı Adı | Açıklama | Gerekli | Tür |
|---|---|---|---|
| URI | Bir Key Vault'un URI'sini. | doğru | Dize |
| servicePrincipalReference | Anahtar Kasası ile kimlik doğrulaması için kullanılan hizmet sorumlusunun kimlik bilgilerini içeren Kubernetes Gizli Dizisinin adı. | yanlış | Dize |
| workloadIdentity | Key Vault ile kimlik doğrulaması için kullanılan iş yükü kimliğinin ayarları. ile aynı alt özelliğe spec.auth.workloadIdentitysahiptir. |
yanlış | nesne |
| managedIdentityClientId | Key Vault ile kimlik doğrulaması için kullanılan sanal makine ölçek kümesinin kullanıcı tarafından atanan yönetilen kimliğinin istemci kimliği. | yanlış | Dize |
spec.secret.refresh özelliği aşağıdaki alt özelliklere sahiptir.
| Veri Akışı Adı | Açıklama | Gerekli | Tür |
|---|---|---|---|
| etkinleştirildi | Key Vault'lardan alınan verilerin otomatik olarak yenilenip yenilenmediğini belirleyen ayar. özelliği yoksa, varsayılan değeri false kullanılır. |
yanlış | ikili |
| aralık | Verilerin Key Vault'tan yenilenme aralığı. 1 dakikadan büyük veya buna eşit olmalıdır. Key Vault yenilemesi, aracılığıyla spec.configuration.refreshyapılandırılan Uygulama Yapılandırması yenilemeden bağımsızdır. |
doğru | süre dizesi |
spec.featureFlag özelliği aşağıdaki alt özelliklere sahiptir. Herhangi bir özellik bayrağının indirilmesi bekleniyorsa gereklidir.
| Veri Akışı Adı | Açıklama | Gerekli | Tür |
|---|---|---|---|
| Seçiciler | Özellik bayrağı filtreleme için seçicilerin listesi. | yanlış | nesne dizisi |
| yenileme | Özellik yenileme ayarları, Azure Uygulaması Yapılandırmasından bayraklar alır. Özellik yoksa, Azure Uygulaması Yapılandırmasındaki özellik bayrakları yenilenmez. | yanlış | nesne |
spec.featureFlag.selectors Özellik ayarlanmadıysa özellik bayrakları indirılmaz. Aşağıdaki alt özelliklere sahip bir seçici nesneleri dizisi içerir. Son seçicinin özellik bayraklarının öncelikli olduğunu ve önceki seçicilerden çakışan anahtarları geçersiz kıldığını unutmayın.
| Veri Akışı Adı | Açıklama | Gerekli | Tür |
|---|---|---|---|
| keyFilter | Özellik bayraklarını sorgulamak için anahtar filtresi. Bu özellik ve snapshotName özelliği aynı anda ayarlanmamalıdır. |
alternatif | Dize |
| labelFilter | Özellik bayraklarını sorgulamaya yönelik etiket filtresi. Bu özellik ve snapshotName özelliği aynı anda ayarlanmamalıdır. |
yanlış | Dize |
| tagFilters | Sorgulama için etiket filtreleri özellik bayrakları. Bu özellik ve snapshotName özelliği aynı anda ayarlanmamalıdır. Etiket filtresi şu şekilde tag1=value1biçimlendirilmelidir. |
yanlış | dize dizisi |
| snapshotName | Özellik bayraklarının yüklendiği anlık görüntünün adı. Bu özellik diğer özelliklerle birlikte kullanılmamalıdır. | alternatif | Dize |
spec.featureFlag.refresh özelliği aşağıdaki alt özelliklere sahiptir.
| Veri Akışı Adı | Açıklama | Gerekli | Tür |
|---|---|---|---|
| etkinleştirildi | Azure Uygulaması Yapılandırması'ndan özellik bayraklarının otomatik olarak yenilenip yenilenmediğini belirleyen ayar. özelliği yoksa, varsayılan değeri false kullanılır. |
yanlış | ikili |
| aralık | Özellik bayraklarının Azure Uygulaması Yapılandırması'ndan yenilenme aralığı. 1 saniyeden büyük veya buna eşit olmalıdır. Özelliği yoksa, varsayılan değer olan 30 saniye kullanılır. | yanlış | süre dizesi |
Yükleme
Azure Uygulaması Yapılandırma Kubernetes Sağlayıcısı'nı yüklemek için aşağıdaki helm install komutu kullanın. Parametrelerin tam listesi ve varsayılan değerleri için helm-values.yaml dosyasına bakın. bayrağını komutuna geçirerek --set varsayılan değerleri geçersiz kılabilirsiniz.
helm install azureappconfiguration.kubernetesprovider \
oci://mcr.microsoft.com/azure-app-configuration/helmchart/kubernetes-provider \
--namespace azappconfig-system \
--create-namespace
Otomatik ölçeklendirme
Varsayılan olarak, otomatik ölçeklendirme devre dışıdır. Ancak, birden çok ConfigMap/Gizli Dizi oluşturmak için birden çok AzureAppConfigurationProvider kaynağınız varsa, olarak ayarlayarak autoscaling.enabled yatay pod otomatik ölçeklendirmesini trueetkinleştirebilirsiniz.
helm install azureappconfiguration.kubernetesprovider \
oci://mcr.microsoft.com/azure-app-configuration/helmchart/kubernetes-provider \
--namespace azappconfig-system \
--create-namespace
--set autoscaling.enabled=true
Veri toplama
Yazılım, sizinle ve yazılımı kullanımınızla ilgili bilgileri toplayıp Microsoft'a gönderebilir. Microsoft bu bilgileri, hizmetleri sağlamak ve ürün ve hizmetlerimizi iyileştirmek için kullanabilir. Azure Uygulaması Yapılandırma Kubernetes Sağlayıcısı'nı yüklerken ayarını requestTracing.enabled=false yaparak telemetriyi kapatabilirsiniz. Yazılımda sizin ve Microsoft'un uygulamalarınızın kullanıcılarından veri toplamanıza olanak tanıyabilecek bazı özellikler de vardır. Bu özellikleri kullanıyorsanız, microsoft'un gizlilik bildiriminin bir kopyasıyla birlikte uygulamalarınızın kullanıcılarına uygun bildirimler sağlamak da dahil olmak üzere geçerli yasalara uymanız gerekir. Gizlilik bildirimimiz, https://go.microsoft.com/fwlink/?LinkID=824704 adresinde bulunmaktadır. Veri toplama ve kullanma hakkında daha fazla bilgiyi yardım belgelerinde ve gizlilik bildirimimizde bulabilirsiniz. Yazılımı kullanmanız, bu uygulamalara verdiğiniz onay yerine geçer.
Örnekler
Kimlik Doğrulaması
Sanal makine ölçek kümesinin sistem tarafından atanan yönetilen kimliğini kullanma
Azure Kubernetes Service (AKS) kümesi tarafından kullanılan sanal makine ölçek kümesinde sistem tarafından atanan yönetilen kimliği etkinleştirin.
Aşağıdaki örnek
AzureAppConfigurationProviderkaynağı AKS kümesine dağıtın.apiVersion: azconfig.io/v1 kind: AzureAppConfigurationProvider metadata: name: appconfigurationprovider-sample spec: endpoint: <your-app-configuration-store-endpoint> target: configMapName: configmap-created-by-appconfig-provider
Sanal makine ölçek kümesinin kullanıcı tarafından atanan yönetilen kimliğini kullanma
Kullanıcı tarafından atanan bir yönetilen kimlik oluşturun ve oluşturulduktan sonra istemci kimliğini not edin.
spec.auth.managedIdentityClientIdözelliğini aşağıdaki örnekAzureAppConfigurationProviderkaynakta kullanıcı tarafından atanan yönetilen kimliğin istemci kimliğine ayarlayın ve AKS kümesine dağıtın.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>
Hizmet sorumlusunu kullanma
Azure Uygulaması Yapılandırmasında hizmet sorumlusu Uygulama Yapılandırması Veri Okuyucusu rolü verin.
Kaynakla aynı ad alanında
AzureAppConfigurationProviderbir Kubernetes Gizli Anahtarı oluşturun ve hizmet sorumlusunun azure_client_id, azure_client_secret ve azure_tenant_id Gizli Diziye ekleyin.spec.auth.servicePrincipalReferenceÖzelliğini aşağıdaki örnekAzureAppConfigurationProviderkaynakta Gizli Dizi adı olarak ayarlayın ve Kubernetes kümesine dağıtın.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>
İş yükü kimliğini kullanma
Azure Kubernetes Service (AKS) kümesinde İş Yükü Kimliğini etkinleştirin.
Kullanıcı tarafından atanan bir yönetilen kimlik oluşturun ve istemci kimliğini, kiracı kimliğini, adını ve kaynak grubunu not edin.
AKS dağıtım dosyalarınızı içeren dizine aşağıdaki içeriğe sahip bir YAML dosyası (örn . serviceAccount.yaml) ekleyerek bir hizmet hesabı oluşturun. Hizmet hesabı, AKS kümenize tüm dağıtım değişikliklerinizi uyguladığınızda (örneğin, kullanarak
kubectl apply) oluşturulur. değerini istemci kimliğiyle ve<your-managed-identity-client-id>yeni oluşturulan kullanıcı tarafından atanan yönetilen kimliğin kiracı kimliğiyle değiştirin<your-managed-identity-tenant-id>. değerini tercih ettiğiniz adla değiştirin<your-service-account-name>.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>Azure CLI kullanarak kullanıcı tarafından atanan yönetilen kimlik için federasyon kimliği kimlik bilgileri oluşturun. değerini adıyla ve
<user-assigned-identity-name>yeni oluşturulan kullanıcı tarafından atanan yönetilen kimliğin kaynak grubuyla değiştirin<resource-group>. değerini AKS kümesinin OIDC veren URL'si ile değiştirin<aks-oidc-issuer>. değerini yeni oluşturulan hizmet hesabının adıyla değiştirin<your-service-account-name>. değerini federasyon kimliği kimlik bilgileri için tercih ettiğiniz adla değiştirin<federated-identity-credential-name>.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://AzureADTokenExchangeFederasyon kimliği kimlik bilgilerinin konusunun şu biçimi izlemesi gerektiğini unutmayın:
system:serviceaccount:<service-account-namespace>:<service-account-name>.spec.auth.workloadIdentity.serviceAccountNameözelliğini aşağıdaki örnekAzureAppConfigurationProviderkaynaktaki hizmet hesabının adına ayarlayın. Kaynak ve hizmet hesabının aynı ad alanında olduğundan eminAzureAppConfigurationProviderolun.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>
bağlantı dizesi kullanma
Kaynakla aynı ad alanında
AzureAppConfigurationProviderbir Kubernetes Gizli Anahtarı oluşturun ve Gizli Dizi'de anahtar azure_app_configuration_connection_string ile Azure Uygulaması Yapılandırma bağlantı dizesi ekleyin.spec.connectionStringReferenceÖzelliğini aşağıdaki örnekAzureAppConfigurationProviderkaynakta Gizli Dizi adı olarak ayarlayın ve Kubernetes kümesine dağıtın.apiVersion: azconfig.io/v1 kind: AzureAppConfigurationProvider metadata: name: appconfigurationprovider-sample spec: connectionStringReference: <your-connection-string-secret-name> target: configMapName: configmap-created-by-appconfig-provider
Anahtar-değer seçimi
selectors Azure Uygulaması Yapılandırması'ndan indirilecek anahtar değerlerini filtrelemek için özelliğini kullanın.
Aşağıdaki örnek etiketsiz tüm anahtar değerlerini indirir.
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şağıdaki örnekte, her biri benzersiz etiketlere sahip iki anahtar-değer kümesini almak için iki seçici kullanılır. Son seçicinin değerlerinin öncelikli olduğunu ve önceki seçicilerden çakışan anahtarları geçersiz kıldığını unutmayın.
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
Etiket filtreleri ayrıca anahtar değerleri filtrelemek için kullanılabilir. Aşağıdaki örnekte, yalnızca etiketli env=prod anahtar değerler indirilir.
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
Anlık görüntü tek başına veya diğer anahtar-değer seçicilerle birlikte kullanılabilir. Aşağıdaki örnekte, ortak yapılandırmanın anahtar değerlerini bir anlık görüntüden yükleyip bazılarını geliştirme için anahtar-değerlerle geçersiz kılacaksınız.
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
Anahtar ön eki kırpma
Aşağıdaki örnek, anahtar adlarından oluşturulan ConfigMap'e eklemeden önce iki ön eki kırpmak için özelliğini kullanır trimKeyPrefixes .
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]
Yapılandırma yenilemesi
Azure Uygulaması Yapılandırması'nda verilerinizde değişiklik yaptığınızda, bu değişikliklerin Kubernetes kümenizde otomatik olarak yenilenmesini isteyebilirsiniz. Aşağıdaki örnekte Kubernetes sağlayıcısı azure uygulama yapılandırmasında güncelleştirmeleri dakikada bir denetler. İlişkili ConfigMap ve Gizli Dizi yalnızca değişiklikler algılandığında yeniden oluşturulur. Yapılandırma değişikliklerini izleme hakkında daha fazla bilgi için bkz. Yapılandırma yenileme için en iyi yöntemler.
apiVersion: azconfig.io/v1
kind: AzureAppConfigurationProvider
metadata:
name: appconfigurationprovider-sample
spec:
endpoint: <your-app-configuration-store-endpoint>
target:
configMapName: configmap-created-by-appconfig-provider
configuration:
selectors:
- keyFilter: app1*
labelFilter: common
refresh:
enabled: true
interval: 1m
Key Vault başvuruları
Kimlik Doğrulaması
Aşağıdaki örnekte, bir Key Vault hizmet sorumlusuyla doğrulanırken, diğer tüm Anahtar Kasalarının kimliği kullanıcı tarafından atanan yönetilen kimlikle doğrulanır.
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>
Gizli Dizi Türleri
Şu anda iki Kubernetes yerleşik Gizli Dizi türü olan Opak ve TLS desteklenmektedir. Key Vault başvurularından çözümlenen gizli diziler varsayılan olarak Opak Gizli Dizi türü olarak kaydedilir. Bir sertifikaya Key Vault başvurunuz varsa ve sertifikayı TLS Gizli Anahtarı türü olarak kaydetmek istiyorsanız, Azure Uygulaması Yapılandırması'ndaki Key Vault başvurusuna aşağıdaki ad ve değere sahip bir etiket ekleyebilirsiniz. Bunu yaptığınızda, türüne kubernetes.io/tls sahip bir Gizli Dizi oluşturulur ve Anahtar Kasası başvurusunun anahtarından sonra adlandırılır.
| Veri Akışı Adı | Değer |
|---|---|
| .kubernetes.secret.type | kubernetes.io/tls |
Aşağıdaki örneklerde verilerin oluşturulan Gizli Dizilerde farklı türlerle nasıl doldurulu olduğu gösterilmektedir.
Bir Uygulama Yapılandırması deposunda şu Key Vault başvuruları olduğu varsayılır:
| anahtar | değer | Etiketler |
|---|---|---|
| app1-secret1 | <Key Vault başvurusu 1> | {} |
| app1-secret2 | <Key Vault başvurusu 2> | {} |
| app1-certificate | <Key Vault başvurusu 3> | {".kubernetes.secret.type": "kubernetes.io/tls"} |
Aşağıdaki örnek hem Opak hem de TLS türlerinin Gizli Dizilerini oluşturur.
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>
Oluşturulan Gizli Diziler aşağıdaki verilerle doldurulur:
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>
Key Vault'tan gizli dizileri yenileme
Key Vault'lardan gizli dizileri yenilemek için genellikle Azure Uygulaması Yapılandırması'ndan ilgili Key Vault başvurularının yeniden yüklenmesi gerekir. Ancak özelliğiyle spec.secret.refresh gizli dizileri Key Vault'tan bağımsız olarak yenileyebilirsiniz. Bu özellikle iş yükünüzün gizli dizi döndürme sırasında Key Vault'tan güncelleştirilmiş gizli dizileri otomatik olarak almasını sağlamak için kullanışlıdır. Bir gizli dizinin en son sürümünü yüklemek için Key Vault başvurusunun sürümlenmiş bir gizli dizi olmaması gerektiğini unutmayın.
Aşağıdaki örnek, Key Vault'taki sürümsüz tüm gizli dizileri saatte bir yeniler.
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
Özellik Bayrakları
Aşağıdaki örnekte, ile app1 başlayan anahtarlar ve ile eşdeğer common etiketler içeren özellik bayrakları her 10 dakikada bir indirilip yenilenir. Oluşturulan ConfigMap'te özellik bayraklarını doldurmak için özelliğin configMapData.type veya jsonolması yaml gerektiğini unutmayın.
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
İsteğe Bağlı Yenileme
Otomatik veri yenilemeyi ayarlayabilirsiniz ancak Uygulama Yapılandırması ve Key Vault'tan en son verileri almak için isteğe bağlı yenileme tetiklemek isteyebileceğiniz zamanlar olabilir. Bu, öğesinin bölümünde metadata.annotationsherhangi bir ek açıklama AzureAppConfigurationProvider ekleyerek veya güncelleştirerek yapılabilir. Kubernetes sağlayıcısı daha sonra ConfigMap ve Secret'ı Uygulama Yapılandırma deponuzdan ve Key Vault'tan alınan en son verilerle mutabık tutar ve güncelleştirir.
Aşağıdaki örnekte , AzureAppConfigurationProvider yeni bir ek açıklamayla güncelleştirilir. Değişiklik sonrasında, isteğe bağlı yenilemeyi tetiklemek için kullanarak kubectl apply değişiklikleri uygulayı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>
ConfigMap Tüketimi
Kubernetes'te çalışan uygulamalar genellikle ConfigMap'i ortam değişkenleri veya yapılandırma dosyaları olarak tüketir.
configMapData.type Özellik yoksa veya varsayılan olarak ayarlandıysa, ConfigMap Azure Uygulaması Yapılandırması'ndan alınan ve ortam değişkenleri olarak kolayca tüketilebilen listelenmiş veri listesiyle doldurulur.
configMapData.type Özellik json, yaml veya özellikler olarak ayarlanırsa, Azure Uygulaması Yapılandırmasından alınan veriler, oluşturulan ConfigMap'te özelliği tarafından configMapData.key belirtilen anahtar adıyla tek bir öğede gruplandırılır ve bu öğe bağlı bir dosya olarak kullanılabilir.
Aşağıdaki örneklerde, oluşturulan ConfigMap'te verilerin özelliğin farklı ayarlarıyla nasıl doldurulan configMapData.type gösterilmektedir.
bir Uygulama Yapılandırması deposu şu anahtar değerlerine sahip olduğu varsayılır:
| anahtar | değer |
|---|---|
| anahtar1 | değer1 |
| anahtar2 | değer2 |
| anahtar3 | değer3 |
configMapData.type Ve özelliği yok veya olarak defaultayarlanmıştır.
apiVersion: azconfig.io/v1
kind: AzureAppConfigurationProvider
metadata:
name: appconfigurationprovider-sample
spec:
endpoint: <your-app-configuration-store-endpoint>
target:
configMapName: configmap-created-by-appconfig-provider
Oluşturulan ConfigMap aşağıdaki verilerle doldurulur:
data:
key1: value1
key2: value2
key3: value3