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

  1. komutunu kullanarak az group create bir Azure kaynak grubu oluşturun.

    az group create --name myResourceGroup --location eastus2
    
  2. 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
    
  3. Önceki komut, azureKeyvaultSecretsProviderAzure 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 kimlikleri clientId 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 eklentiyi azure-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

  1. [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
    
  2. kube-system ad alanında ve secrets-store-provider-azure etiketlerine sahip secrets-store-csi-driver tüm podları listeleyen komutunu kullanarak kubectl 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
    
  3. 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

  1. Komutunu veya bayrağını kullanarak az keyvault create Azure rol tabanlı erişim denetimi (Azure RBAC) etkinleştirilmiş bir anahtar kasası oluşturun veya az 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
    
  2. Anahtar kasanız anahtarları, gizli dizileri ve sertifikaları depolayabilir. Bu örnekte komutunu kullanarak az keyvault secret set adlı ExampleSecretdüz metin gizli dizisini ayarlayın.

    az keyvault secret set --vault-name <keyvault-name> --name ExampleSecret --value MyAKSExampleSecret
    
  3. 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.