Bagikan melalui


Tutorial: Menyambungkan ke Azure Cache for Redis atau Azure Managed Redis dari aplikasi yang dihosting di Azure Kubernetes Service

Dalam tutorial ini, Anda menggunakan sampel ini untuk terhubung dengan instans Azure Cache for Redis atau Azure Managed Redis.

Prasyarat

Penting

Tutorial ini mengasumsikan bahwa Anda terbiasa dengan konsep Kubernetes dasar seperti kontainer, pod, dan layanan.

Menyiapkan instans Azure Cache Redis

  1. 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. Cuplikan layar membuat cache C1 Standar di portal Microsoft Azure

  2. Selesaikan langkah-langkah untuk membuat cache.

  3. 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.

  4. 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.

  5. 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.

  1. Unduh kode untuk aplikasi sampel.

  2. 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 .
    
  3. 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

  1. 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 myClusterName
    
  2. Verifikasi bahwa Anda dapat terhubung ke kluster Anda dengan menjalankan perintah berikut:

    kubectl get nodes
    

    Anda 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

  1. 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: Never
    
    
  2. Simpan file ini sebagai podspec.yaml lalu terapkan ke kluster AKS Anda dengan menjalankan perintah folloWing:

    kubectl apply -f podspec.yaml
    

    Anda menerima respons yang menunjukkan bahwa pod Anda telah dibuat.

    pod/entrademo-pod created
    
  3. Untuk menguji aplikasi, jalankan perintah berikut untuk memeriksa apakah pod berjalan:

    kubectl get pods
    

    Anda melihat pod Anda berhasil berjalan seperti berikut:

    NAME                       READY   STATUS      RESTARTS       AGE
    entrademo-pod              0/1     Completed   0              42s
    
  4. Karena tutorial ini adalah aplikasi konsol, Anda perlu memeriksa log pod untuk memverifikasi bahwa ia berjalan seperti yang diharapkan menggunakan perintah ini.

    kubectl logs entrademo-app
    

    Anda 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

  1. Masuk ke portal Azure, lalu pilih Grup sumber daya.

  2. 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.

    Cuplikan layar memperlihatkan daftar grup sumber daya yang akan dihapus di panel kerja.

  3. Pilih Hapus grup sumber daya.

  4. Anda diminta untuk mengonfirmasi penghapusan grup sumber daya. Ketik nama grup sumber daya Anda lagi untuk mengonfirmasi, lalu pilih Hapus.

    Cuplikan layar memperlihatkan formulir yang memerlukan nama sumber daya untuk mengonfirmasi penghapusan.

Setelah beberapa saat, grup sumber daya dan semua sumber dayanya akan dihapus.