Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam tutorial ini, Anda menggunakan sampel ini untuk terhubung dengan instans Azure Cache for Redis atau Azure Managed Redis.
Prasyarat
- Sebuah langganan Azure. Jika Anda tidak memiliki langganan Azure, buat akun gratis.
- Kluster Azure Kubernetes Service - Untuk informasi selengkapnya tentang membuat kluster, lihat Mulai Cepat: Menyebarkan kluster Azure Kubernetes Service (AKS) menggunakan portal Microsoft Azure.
- Identitas terkelola yang ditetapkan pengguna yang ingin Anda gunakan untuk menyambungkan ke instans Azure Cache for Redis Anda.
Penting
Tutorial ini mengasumsikan bahwa Anda terbiasa dengan konsep Kubernetes dasar seperti kontainer, pod, dan layanan.
Menyiapkan instans Azure Cache Redis
Buat instans Azure Cache for Redis baru dengan menggunakan portal Azure atau alat CLI pilihan Anda. Gunakan panduan mulai cepat untuk memulai. Secara bergantian, Anda juga dapat membuat instans Azure Managed Redis.
Untuk tutorial ini, gunakan cache Standard C1.
Selesaikan langkah-langkah untuk membuat cache.
Setelah instans cache Redis Anda dibuat, navigasikan ke tab Autentikasi . Pilih identitas terkelola yang ditetapkan pengguna yang ingin Anda gunakan untuk menyambungkan ke instans cache Redis Anda, lalu pilih Simpan.
Atau, Anda dapat menavigasi ke Konfigurasi Akses Data pada menu Sumber Daya untuk membuat pengguna Redis baru dengan identitas terkelola yang ditetapkan pengguna Anda untuk menyambungkan ke cache Anda.
Catat nama pengguna untuk pengguna Redis Anda dari portal. Anda menggunakan nama pengguna ini dengan beban kerja AKS.
Jalankan sampel secara lokal
Untuk menjalankan sampel ini secara lokal, konfigurasikan prinsipal pengguna Anda sebagai Pengguna Redis pada instans Redis Anda. Sampel kode menggunakan prinsipal pengguna Anda melalui DefaultAzureCredential untuk menyambungkan ke instans Redis.
Konfigurasi kluster AKS Anda
Ikuti langkah-langkah ini untuk mengonfigurasi identitas beban kerja untuk kluster AKS Anda.
Kemudian, selesaikan langkah-langkah berikut:
- Mengaktifkan pengeluar sertifikat OIDC dan identitas beban kerja
- Lewati langkah untuk membuat identitas terkelola yang ditetapkan pengguna jika Anda sudah membuat identitas terkelola Anda. Jika Anda membuat identitas terkelola baru, pastikan Anda membuat Pengguna Redis baru untuk identitas terkelola Anda dan menetapkan izin akses data yang sesuai.
- Buat akun Kubernetes Service yang dianotasi dengan ID klien identitas terkelola yang ditetapkan pengguna
- Buat kredensial identitas gabungan untuk kluster AKS Anda.
Mengonfigurasi beban kerja Anda yang tersambung ke Azure Cache for Redis
Selanjutnya, siapkan beban kerja AKS untuk menyambungkan ke Azure Cache for Redis setelah Anda mengonfigurasi kluster AKS.
Unduh kode untuk aplikasi sampel.
Bangun dan dorong gambar docker ke Azure Container Registry Anda menggunakan perintah az acr build.
az acr build --image sample/connect-from-aks-sample:1.0 --registry yourcontainerregistry --file Dockerfile .Lampirkan registri kontainer Anda ke kluster AKS Anda menggunakan perintah berikut:
az aks update --name clustername --resource-group mygroup --attach-acr youracrname
Menyebarkan beban kerja Anda
Di bagian ini, Anda terlebih dahulu menginstal Kubernetes CLI dan kemudian terhubung ke kluster AKS.
Instal Kubernetes CLI
Gunakan Kubernetes CLI, kubectl, untuk terhubung ke kluster Kubernetes dari komputer lokal Anda. Jika Anda menjalankan secara lokal, maka Anda dapat menggunakan perintah berikut untuk menginstal kubectl.
az aks install-cli
Jika Anda menggunakan Azure Cloud Shell, kubectl sudah diinstal, dan Anda dapat melewati langkah ini.
Hubungkan ke kluster AKS Anda
Gunakan portal untuk menyalin grup sumber daya dan nama kluster untuk kluster AKS Anda. Untuk mengonfigurasi kubectl untuk menyambungkan ke kluster AKS Anda, gunakan perintah berikut dengan grup sumber daya dan nama kluster Anda:
az aks get-credentials --resource-group myResourceGroup --name myClusterNameVerifikasi bahwa Anda dapat terhubung ke kluster Anda dengan menjalankan perintah berikut:
kubectl get nodesAnda akan melihat output serupa yang menunjukkan daftar node kluster Anda.
NAME STATUS ROLES AGE VERSION aks-agentpool-21274953-vmss000001 Ready agent 1d v1.29.7 aks-agentpool-21274953-vmss000003 Ready agent 1d v1.29.7 aks-agentpool-21274953-vmss000006 Ready agent 1d v1.29.7
Menjalankan beban kerja Anda
Kode berikut menjelaskan file spesifikasi pod yang Anda gunakan untuk menjalankan beban kerja kami. Perhatikan bahwa pod memiliki label azure.workloadidentity/use: "true" dan diannotasikan dengan serviceAccountName sebagaimana diperlukan oleh identitas beban kerja AKS. Saat menggunakan autentikasi kunci akses, ganti nilai variabel lingkungan AUTHENTICATION_TYPE, REDIS_HOSTNAME, REDIS_ACCESSKEY, dan REDIS_PORT. Untuk instans Azure Managed Redis, atur nilai REDIS_PORT ke 10000.
apiVersion: v1 kind: Pod metadata: name: entrademo-pod labels: azure.workload.identity/use: "true" # Required. Only pods with this label can use workload identity. spec: serviceAccountName: workload-identity-sa containers: - name: entrademo-container image: youracr.azurecr.io/connect-from-aks-sample:1.0 imagePullPolicy: Always command: ["dotnet", "ConnectFromAKS.dll"] resources: limits: memory: "256Mi" cpu: "500m" requests: memory: "128Mi" cpu: "250m" env: - name: AUTHENTICATION_TYPE value: "MANAGED_IDENTITY" # change to ACCESS_KEY to authenticate using access key - name: REDIS_HOSTNAME value: "your redis hostname" - name: REDIS_ACCESSKEY value: "your access key" - name: REDIS_PORT value: "6380" # change to 10000 for Azure Managed Redis restartPolicy: NeverSimpan file ini sebagai podspec.yaml lalu terapkan ke kluster AKS Anda dengan menjalankan perintah folloWing:
kubectl apply -f podspec.yamlAnda menerima respons yang menunjukkan bahwa pod Anda telah dibuat.
pod/entrademo-pod createdUntuk menguji aplikasi, jalankan perintah berikut untuk memeriksa apakah pod berjalan:
kubectl get podsAnda melihat pod Anda berhasil berjalan seperti berikut:
NAME READY STATUS RESTARTS AGE entrademo-pod 0/1 Completed 0 42sKarena tutorial ini adalah aplikasi konsol, Anda perlu memeriksa log pod untuk memverifikasi bahwa ia berjalan seperti yang diharapkan menggunakan perintah ini.
kubectl logs entrademo-appAnda melihat log berikut yang menunjukkan pod Anda berhasil terhubung ke instans Redis menggunakan identitas terkelola yang ditetapkan pengguna
Connecting with managed identity.. Retrieved value from Redis: Hello, Redis! Success! Previous value: Hello, Redis!
Bersihkan kluster Anda
Untuk membersihkan kluster Anda, jalankan perintah berikut:
kubectl delete pod entrademo-pod
Membersihkan sumber daya
Jika Anda ingin terus menggunakan sumber daya yang Anda buat di artikel ini, simpan grup sumber daya.
Jika tidak, jika Anda sudah selesai dengan sumber daya, Anda dapat menghapus grup sumber daya Azure yang Anda buat untuk menghindari biaya.
Penting
Penghapusan grup sumber daya tidak bisa dipulihkan. Ketika Anda menghapus grup sumber daya, semua sumber daya di dalamnya dihapus secara permanen. Pastikan Anda tidak salah menghapus grup sumber daya atau sumber daya secara tidak sengaja. Jika Anda membuat sumber daya di dalam grup sumber daya yang sudah ada yang berisi sumber daya yang ingin Anda simpan, Anda dapat menghapus setiap sumber daya satu per satu alih-alih menghapus grup sumber daya.
Untuk menghapus grup sumber daya
Masuk ke portal Azure, lalu pilih Grup sumber daya.
Pilih grup sumber daya yang ingin Anda hapus.
Jika ada banyak grup sumber daya, gunakan kotak Filter untuk bidang apa pun... , ketik nama grup sumber daya yang Anda buat untuk artikel ini. Pilih grup sumber daya dalam daftar hasil.
Pilih Hapus grup sumber daya.
Anda diminta untuk mengonfirmasi penghapusan grup sumber daya. Ketik nama grup sumber daya Anda lagi untuk mengonfirmasi, lalu pilih Hapus.
Setelah beberapa saat, grup sumber daya dan semua sumber dayanya akan dihapus.