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 yangpod
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
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Instal Azure CLI, dan masuk ke Azure CLI dengan menggunakan perintah az login .
- Instal Dockerdan kubectl, untuk mengelola gambar kontainer dan sumber daya Kubernetes.
- Pemahaman dasar tentang kontainer dan AKS. Mulai dari menyiapkan aplikasi untuk AKS.
Membuat sumber daya Azure
Buat grup sumber daya untuk tutorial ini.
az group create \ --name MyResourceGroup \ --location eastus
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
Koneksi ke kluster dengan perintah berikut.
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSCluster
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
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.
Buka layanan Kubernetes anda di portal Azure dan pilih Service Koneksi or dari menu sebelah kiri.
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. Setelah koneksi dibuat, halaman Service Koneksi or menampilkan informasi tentang koneksi baru.
Menguji koneksi
Klon sampel repositori:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
Buka folder sampel repositori untuk Azure Key Vault:
cd serviceconnector-aks-samples/azure-keyvault-csi-provider
Ganti tempat penampung dalam
secret_provider_class.yaml
file diazure-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 addonazureKeyvaultSecretsProvider
. Anda mungkin mendapatkan nilai dari portal Azure service Koneksi or. - Ganti
<KEYVAULT_SECRET_NAME>
dengan nama rahasia brankas kunci yang kami buat, misalnya,ExampleSecret
- Ganti dengan nama brankas kunci yang kami buat dan sambungkan
Sebarkan sumber daya Kubernetes ke kluster Anda dengan
kubectl apply
perintah . Instalkubectl
secara lokal menggunakan perintah az aks install-cli jika tidak diinstal.- Sebarkan
SecretProviderClass
CRD.
kubectl apply -f secret_provider_class.yaml
- Sebarkan
pod
. Perintah membuat pod bernamasc-demo-keyvault-csi
di namespace default kluster AKS Anda.
kubectl apply -f pod.yaml
- Sebarkan
Periksa apakah penyebaran berhasil dengan melihat pod dengan
kubectl
.kubectl get pod/sc-demo-keyvault-csi
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
ExampleSecret
pengujian .
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.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk