Tutorial: Koneksi ke akun penyimpanan Azure di Azure Kubernetes Service (AKS) dengan Service Koneksi or menggunakan identitas beban kerja

Pelajari cara membuat pod di kluster AKS, yang berbicara dengan akun penyimpanan Azure menggunakan identitas beban kerja dengan bantuan Service Koneksi or. Dalam tutorial ini, Anda menyelesaikan tugas-tugas berikut:

  • Buat kluster AKS dan akun penyimpanan Azure.
  • Buat koneksi antara kluster AKS dan akun penyimpanan Azure dengan Service Koneksi or.
  • Kloning aplikasi sampel yang akan berbicara dengan akun penyimpanan Azure dari kluster AKS.
  • Sebarkan aplikasi ke pod di kluster AKS dan uji 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. Kami membuat koneksi layanan, definisi pod, dan menyebarkan aplikasi sampel ke kluster ini.

    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 akun penyimpanan Azure dengan perintah berikut, atau lihat tutorial. Ini adalah layanan target yang terhubung ke kluster AKS dan aplikasi sampel yang berinteraksi.

    az storage account create \
        --resource-group MyResourceGroup \
        --name MyStorageAccount \
        --location eastus \
        --sku Standard_LRS
    
  5. Buat registri kontainer Azure dengan perintah berikut, atau lihat tutorial. Registri menghosting gambar kontainer aplikasi sampel, yang akan digunakan oleh definisi pod AKS.

    az acr create \
        --resource-group MyResourceGroup \
        --name MyRegistry \
        --sku Standard
    

    Dan aktifkan penarikan anonim sehingga kluster AKS dapat mengonsumsi gambar dalam registri.

    az acr update \
        --resource-group MyResourceGroup \
        --name MyRegistry \
        --anonymous-pull-enabled
    
  6. Buat identitas terkelola yang ditetapkan pengguna dengan perintah berikut, atau lihat tutorial. Identitas terkelola yang ditetapkan pengguna digunakan dalam pembuatan koneksi layanan untuk mengaktifkan identitas beban kerja untuk beban kerja AKS.

    az identity create \
        --resource-group MyResourceGroup \
        --name MyIdentity
    

Membuat koneksi layanan dengan Service Koneksi or (pratinjau)

Buat koneksi layanan antara kluster AKS dan akun penyimpanan Azure 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.

    Tab Dasar:

    Pengaturan Pilihan Deskripsi
    Namespace Kubernetes Default Namespace tempat Anda memerlukan koneksi dalam kluster.
    Jenis layanan Penyimpanan - Blob Jenis layanan target.
    Nama koneksi storage_conn Gunakan nama koneksi yang disediakan oleh service Koneksi or atau pilih nama koneksi Anda sendiri.
    Langganan <MySubscription> Langganan untuk layanan target Azure Blob Storage Anda.
    Akun penyimpanan <MyStorageAccount> Akun penyimpanan target yang ingin Anda sambungkan.
    Jenis klien Python Bahasa atau kerangka kerja kode yang Anda gunakan untuk menyambungkan ke layanan target.

    Tab Autentikasi:

    Pengaturan Autentikasi Pilihan Deskripsi
    Jenis autentikasi Identitas Beban Kerja Jenis autentikasi service Koneksi or.
    Identitas terkelola yang ditetapkan pengguna <MyIdentity> Identitas terkelola yang ditetapkan pengguna diperlukan untuk mengaktifkan identitas beban kerja.
  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.

Mengkloning aplikasi sampel

  1. Klon sampel repositori:

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

    cd serviceconnector-aks-samples/azure-storage-workload-identity
    

Membangun dan mendorong gambar kontainer

  1. Buat dan dorong gambar ke registri kontainer Anda menggunakan perintah Azure CLI az acr build .

    az acr build --registry <MyRegistry> --image sc-demo-storage-identity:latest ./
    
  2. Lihat gambar di registri kontainer Anda menggunakan az acr repository list perintah .

    az acr repository list --name <MyRegistry> --output table
    

Jalankan aplikasi dan uji koneksi

  1. Ganti tempat penampung dalam pod.yaml file di azure-storage-identity folder.

    • Ganti <YourContainerImage> dengan nama gambar yang kita buat di langkah terakhir, misalnya, <MyRegistry>.azurecr.io/sc-demo-storage-identity:latest.
    • Ganti <ServiceAccountCreatedByServiceConnector> dengan akun layanan yang dibuat oleh Service Koneksi or setelah pembuatan koneksi. Anda dapat memeriksa nama akun layanan di portal Azure service Koneksi or.
    • Ganti <SecretCreatedByServiceConnector> dengan rahasia yang dibuat oleh service Koneksi or setelah pembuatan koneksi. Anda dapat memeriksa nama rahasia di portal Azure service Koneksi or.
  2. Sebarkan pod ke kluster Anda dengan kubectl apply perintah. Instal kubectl secara lokal menggunakan perintah az aks install-cli jika tidak diinstal. Perintah membuat pod bernama sc-demo-storage-identity di namespace default kluster AKS Anda.

    kubectl apply -f pod.yaml
    
  3. Periksa apakah penyebaran berhasil dengan melihat pod dengan kubectl.

    kubectl get pod/sc-demo-storage-identity.
    
  4. Periksa koneksi dibuat dengan melihat log dengan kubectl.

    kubectl logs pod/sc-demo-storage-identity
    

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.