Bagikan melalui


Tutorial: Menggunakan penyedia Azure Key Vault untuk Secrets Store CSI Driver di kluster Azure Kubernetes Service (AKS)

Pelajari cara menyambungkan ke Azure Key Vault menggunakan driver CSI di kluster Azure Kubernetes Service (AKS) dengan bantuan Service Koneksi or. Dalam tutorial ini, Anda menyelesaikan tugas-tugas berikut:

  • Buat kluster AKS dan Azure Key Vault.
  • Buat koneksi antara kluster AKS dan Azure Key Vault dengan Service Koneksi or.
  • Buat SecretProviderClass CRD dan penyedia CSI yang pod mengkonsumsi untuk menguji koneksi.
  • Membersihan sumber daya.

Penting

Koneksi layanan dalam AKS saat ini dalam pratinjau. Lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure untuk persyaratan hukum yang berlaku pada fitur Azure dalam versi beta, pratinjau, atau belum dirilis secara umum.

Prasyarat

Membuat sumber daya Azure

  1. Buat grup sumber daya untuk tutorial ini.

    az group create \
        --name MyResourceGroup \
        --location eastus
    
  2. Buat kluster AKS dengan perintah berikut, atau lihat tutorial. Ini adalah kluster tempat kami membuat koneksi layanan, definisi pod, dan menyebarkan aplikasi sampel.

    az aks create \
        --resource-group MyResourceGroup \
        --name MyAKSCluster \
        --enable-managed-identity \
        --node-count 1
    
  3. Koneksi ke kluster dengan perintah berikut.

    az aks get-credentials \
        --resource-group MyResourceGroup \
        --name MyAKSCluster
    
  4. Buat Azure Key Vault dengan perintah berikut, atau lihat tutorial. Ini adalah layanan target yang terhubung ke kluster AKS dan driver CSI menyinkronkan rahasia.

    az keyvault create \
        --resource-group MyResourceGroup \  
        --name MyKeyVault \
        --location EastUS
    
  5. Buat rahasia di Key Vault dengan perintah berikut.

    az keyvault secret set \
        --vault-name MyKeyVault \
        --name ExampleSecret \
        --value MyAKSExampleSecret
    

Membuat koneksi layanan di AKS dengan Service Koneksi or (pratinjau)

Buat koneksi layanan antara kluster AKS dan Azure Key Vault menggunakan portal Azure atau Azure CLI.

  1. Buka layanan Kubernetes anda di portal Azure dan pilih Service Koneksi or dari menu sebelah kiri.

  2. Pilih Buat dan isi pengaturan seperti yang ditunjukkan di bawah ini. Biarkan pengaturan lain dengan nilai defaultnya.

    Pengaturan Pilihan Deskripsi
    Namespace Kubernetes Default Namespace tempat Anda memerlukan koneksi dalam kluster.
    Jenis layanan Key Vault (aktifkan CSI) Pilih Key Vault sebagai jenis layanan target dan centang opsi untuk mengaktifkan CSI.
    Nama koneksi keyvault_conn Gunakan nama koneksi yang disediakan oleh service Koneksi or atau pilih nama koneksi Anda sendiri.
    Langganan <MySubscription> Langganan untuk layanan target Azure Key Vault Anda.
    Brankas kunci <MyKeyVault> Brankas kunci target yang ingin Anda sambungkan.
    Jenis klien Python Bahasa atau kerangka kerja kode yang Anda gunakan untuk menyambungkan ke layanan target.
  3. Setelah koneksi dibuat, halaman Service Koneksi or menampilkan informasi tentang koneksi baru.

    Cuplikan layar portal Azure, melihat sumber daya kubernetes yang dibuat oleh Service Koneksi or.

Menguji koneksi

  1. Klon sampel repositori:

    git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
    
  2. Buka folder sampel repositori untuk Azure Key Vault:

    cd serviceconnector-aks-samples/azure-keyvault-csi-provider
    
  3. Ganti tempat penampung dalam secret_provider_class.yaml file di azure-keyvault-csi-provider folder.

    • Ganti dengan nama brankas kunci yang kami buat dan sambungkan <AZURE_KEYVAULT_NAME> . Anda mungkin mendapatkan nilai dari portal Azure service Koneksi or.
    • Ganti <AZURE_KEYVAULT_TENANTID> dengan ID penyewa brankas kunci. Anda mungkin mendapatkan nilai dari portal Azure service Koneksi or.
    • Ganti <AZURE_KEYVAULT_CLIENTID> dengan ID klien identitas addon azureKeyvaultSecretsProvider . Anda mungkin mendapatkan nilai dari portal Azure service Koneksi or.
    • Ganti <KEYVAULT_SECRET_NAME> dengan nama rahasia brankas kunci yang kami buat, misalnya, ExampleSecret
  4. Sebarkan sumber daya Kubernetes ke kluster Anda dengan kubectl apply perintah . Instal kubectl secara lokal menggunakan perintah az aks install-cli jika tidak diinstal.

    1. Sebarkan SecretProviderClass CRD.
    kubectl apply -f secret_provider_class.yaml
    
    1. Sebarkan pod. Perintah membuat pod bernama sc-demo-keyvault-csi di namespace default kluster AKS Anda.
    kubectl apply -f pod.yaml
    
  5. Periksa apakah penyebaran berhasil dengan melihat pod dengan kubectl.

    kubectl get pod/sc-demo-keyvault-csi
    
  6. Setelah pod dimulai, tersedia konten yang dipasang pada jalur volume yang ditentukan dalam penyebaran YAML Anda. Gunakan perintah berikut untuk memvalidasi rahasia Anda dan mencetak rahasia pengujian.

    • Tampilkan rahasia yang disimpan di penyimpanan rahasia menggunakan perintah berikut.
    kubectl exec sc-demo-keyvault-csi -- ls /mnt/secrets-store/
    
    • Tampilkan rahasia di penyimpanan menggunakan perintah berikut. Contoh perintah ini menunjukkan rahasia ExampleSecretpengujian .
    kubectl exec sc-demo-keyvault-csi -- cat /mnt/secrets-store/ExampleSecret
    

Membersihkan sumber daya

Jika Anda tidak perlu menggunakan kembali sumber daya yang telah Anda buat dalam tutorial ini, hapus semua sumber daya yang Anda buat dengan menghapus grup sumber daya Anda.

az group delete \
    --resource-group MyResourceGroup

Langkah berikutnya

Baca artikel berikut untuk mempelajari selengkapnya tentang konsep Service Koneksi or dan caranya membantu AKS terhubung ke layanan.