Azure Kubernetes Service (AKS) kümesinde Gizli Dizi Deposu CSI Sürücüsü için Azure Key Vault sağlayıcısını kullanma
Gizli Dizi Deposu CSI Sürücüsü için Azure Key Vault sağlayıcısı, Bir Azure Key Vault'un bir CSI birimi aracılığıyla Azure Kubernetes Service (AKS) kümesiyle gizli dizi deposu olarak tümleştirilmesine olanak tanır.
Özellikler
- CSI birimi kullanarak gizli dizileri, anahtarları ve sertifikaları poda bağlar.
- CSI satır içi birimleri destekler.
- Birden çok gizli dizi deposu nesnesini tek bir birim olarak bağlamayı destekler.
- CRD ile
SecretProviderClass
pod taşınabilirliğini destekler. - Windows kapsayıcılarını destekler.
- Kubernetes gizli dizileriyle eşitlenir.
- Bağlı içeriklerin ve eşitlenmiş Kubernetes gizli dizilerinin otomatik olarak yeniden yüklenmesini destekler.
Sınırlamalar
SubPath birimi bağlama kullanan bir kapsayıcı döndürülürken gizli dizi güncelleştirmeleri almaz. Daha fazla bilgi için bkz . Gizli Dizi Deposu CSI Sürücüsü bilinen sınırlamaları.
Önkoşullar
- Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- Azure CLI sürümünüzün 2.30.0 veya üzeri olup olmadığını denetleyin. Önceki bir sürümse en son sürümü yükleyin.
- Kümeye girişi kısıtlarsanız 9808 ve 8095 bağlantı noktalarının açık olduğundan emin olun.
- Önerilen en düşük Kubernetes sürümü, sıralı Kubernetes sürümü destek penceresine bağlıdır. N-2 veya sonraki bir sürümü çalıştırdığınızdan emin olun.
Gizli Dizi Deposu için Azure Key Vault sağlayıcısı ile AKS kümesi oluşturma CSI Sürücüsü desteği
komutunu kullanarak
az group create
bir Azure kaynak grubu oluşturun.az group create --name myResourceGroup --location eastus2
parametresiyle komutunu kullanarak
az aks create
Gizli Dizi Deposu CSI Sürücüsü özelliği için Azure Key Vault sağlayıcısı ile--enable-addons azure-keyvault-secrets-provider
bir AKS kümesi oluşturun. Eklenti, anahtar kasanızda kimlik doğrulaması yapmak için kullanabileceğiniz kullanıcı tarafından atanan bir yönetilen kimlik oluşturur. Aşağıdaki örnek, Gizli Dizi Deposu CSI Sürücüsü için Azure Key Vault sağlayıcısının etkinleştirildiği bir AKS kümesi oluşturur.Not
Microsoft Entra İş Yükü Kimliği kullanmak istiyorsanız, aşağıdaki örnekte olduğu gibi ve
--enable-workload-identity
parametrelerini de kullanmanız--enable-oidc-issuer
gerekir:az aks create --name myAKSCluster --resource-group myResourceGroup --enable-addons azure-keyvault-secrets-provider --enable-oidc-issuer --enable-workload-identity --generate-ssh-keys
az aks create \ --name myAKSCluster \ --resource-group myResourceGroup \ --enable-addons azure-keyvault-secrets-provider \ --generate-ssh-keys
Önceki komut,
azureKeyvaultSecretsProvider
Azure kaynaklarına erişmek için kullanıcı tarafından atanan bir yönetilen kimlik oluşturur. Aşağıdaki örnek, gizli dizileri depolayan anahtar kasasına bağlanmak için bu kimliği kullanır, ancak diğer kimlik erişim yöntemlerini de kullanabilirsiniz. Çıktıdaki kimliklericlientId
not alın...., "addonProfiles": { "azureKeyvaultSecretsProvider": { ..., "identity": { "clientId": "<client-id>", ... } }
Not
Bu özelliği etkinleştirdikten sonra AKS, düğüm kaynak grubunda adlı azurekeyvaultsecretsprovider-xxx
bir yönetilen kimlik oluşturur ve bunu otomatik olarak Sanal Makine Ölçek Kümeleri (VMSS) atar. Anahtar kasasına erişmek için bu yönetilen kimliği veya kendi yönetilen kimliğinizi kullanabilirsiniz. Kimliğin oluşturulmasını önlemek için desteklenmez.
Gizli Dizi Deposu için Azure Key Vault sağlayıcısı ile mevcut AKS kümesini yükseltme CSI Sürücüsü desteği
Komutunu kullanarak Gizli Dizi Deposu CSI Sürücüsü için Azure Key Vault sağlayıcısı ile mevcut bir AKS kümesini yükseltin
az aks enable-addons
ve eklentiyiazure-keyvault-secrets-provider
etkinleştirin. Eklenti, anahtar kasanızda kimlik doğrulaması yapmak için kullanabileceğiniz kullanıcı tarafından atanan bir yönetilen kimlik oluşturur.az aks enable-addons --addons azure-keyvault-secrets-provider --name myAKSCluster --resource-group myResourceGroup
Not
Bu özelliği etkinleştirdikten sonra AKS, düğüm kaynak grubunda adlı azurekeyvaultsecretsprovider-xxx
bir yönetilen kimlik oluşturur ve bunu otomatik olarak Sanal Makine Ölçek Kümeleri (VMSS) atar. Anahtar kasasına erişmek için bu yönetilen kimliği veya kendi yönetilen kimliğinizi kullanabilirsiniz. Kimliğin oluşturulmasını önlemek için desteklenmez.
Gizli Dizi Deposu CSI Sürücüsü yüklemesi için Azure Key Vault sağlayıcısını doğrulama
[
az aks get-credentials
][az-aks-get-credentials] komutunu kullanarak AKS kümesi kimlik bilgilerini alın.az aks get-credentials --name myAKSCluster --resource-group myResourceGroup
kube-system ad alanında ve
secrets-store-provider-azure
etiketlerine sahipsecrets-store-csi-driver
tüm podları listeleyen komutunu kullanarakkubectl get pods
yüklemenin tamamlanıp tamamlanmadığını doğrulayın.kubectl get pods -n kube-system -l 'app in (secrets-store-csi-driver,secrets-store-provider-azure)'
Çıkışınız aşağıdaki örnek çıkışa benzer olmalıdır:
NAME READY STATUS RESTARTS AGE aks-secrets-store-csi-driver-4vpkj 3/3 Running 2 4m25s aks-secrets-store-csi-driver-ctjq6 3/3 Running 2 4m21s aks-secrets-store-csi-driver-tlvlq 3/3 Running 2 4m24s aks-secrets-store-provider-azure-5p4nb 1/1 Running 0 4m21s aks-secrets-store-provider-azure-6pqmv 1/1 Running 0 4m24s aks-secrets-store-provider-azure-f5qlm 1/1 Running 0 4m25s
Kümenizin düğüm havuzundaki her düğümün bir Gizli Dizi Deposu CSI Sürücüsü pod'una ve Çalışan Gizli Dizi Deposu Sağlayıcısı Azure pod'una sahip olduğunu doğrulayın.
Mevcut Azure Key Vault'u oluşturma veya kullanma
Komutunu veya bayrağını kullanarak
az keyvault create
Azure rol tabanlı erişim denetimi (Azure RBAC) etkinleştirilmiş bir anahtar kasası oluşturun veyaaz keyvault update
güncelleştirin--enable-rbac-authorization
. Anahtar kasasının adı genel olarak benzersiz olmalıdır. Anahtar kasası izin modelleri ve Azure RBAC hakkında daha fazla ayrıntı için bkz . Azure rol tabanlı erişim denetimiyle Key Vault anahtarlarına, sertifikalarına ve gizli dizilerine erişim sağlama## Create a new Azure key vault az keyvault create --name <keyvault-name> --resource-group myResourceGroup --location eastus2 --enable-rbac-authorization ## Update an existing Azure key vault az keyvault update --name <keyvault-name> --resource-group myResourceGroup --location eastus2 --enable-rbac-authorization
Anahtar kasanız anahtarları, gizli dizileri ve sertifikaları depolayabilir. Bu örnekte komutunu kullanarak
az keyvault secret set
adlıExampleSecret
düz metin gizli dizisini ayarlayın.az keyvault secret set --vault-name <keyvault-name> --name ExampleSecret --value MyAKSExampleSecret
Gelecekte kullanmak için aşağıdaki özellikleri not alın:
- Anahtar kasasında gizli nesnenin adı
- Nesne türü (gizli dizi, anahtar veya sertifika)
- Anahtar kasası kaynağınızın adı
- Aboneliğin Azure kiracı kimliği
Sonraki adımlar
Bu makalede, AKS kümesinde Gizli Dizi Deposu CSI Sürücüsü için Azure Key Vault sağlayıcısını kullanmayı öğrendiniz. Şimdi Azure Key Vault'a erişmek için bir kimlik sağlamanız gerekir. Nasıl yapılacağını öğrenmek için sonraki makaleye geçin.
Azure Kubernetes Service