Bagikan melalui


Tutorial: Menyambungkan AKS ke Azure OpenAI

Tutorial ini menunjukkan cara menghubungkan aplikasi Azure Kubernetes Service (AKS) ke Azure OpenAI menggunakan Konektor Layanan dengan autentikasi identitas beban kerja. Anda akan membuat koneksi bebas kredensial dengan menyebarkan contoh aplikasi Python yang berkomunikasi dengan Azure OpenAI.

Anda akan menyelesaikan tugas berikut:

  • Membuat kluster AKS dan sumber daya Azure OpenAI dengan model GPT-4
  • Mengonfigurasi Konektor Layanan untuk membuat koneksi dengan identitas beban kerja
  • Mengkloning aplikasi sampel
  • Membangun dan mendorong gambar kontainer ke Azure Container Registry
  • Menyebarkan aplikasi ke AKS dan memverifikasi koneksi
  • Membersihkan sumber daya

Prasyarat

Membuat sumber daya Azure OpenAI dan AKS

Anda memulai tutorial ini dengan membuat beberapa 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 dengan merujuk ke mulai cepat AKS. Dalam tutorial ini, kami membuat koneksi layanan dan definisi pod dan menyebarkan aplikasi sampel ke kluster ini.

    az aks create \
        --resource-group MyResourceGroup \
        --name MyAKSCluster \
        --enable-managed-identity \
        --node-count 1 \
        --generate-ssh-keys
    
  3. Sambungkan ke kluster menggunakan perintah az aks get-credentials .

    az aks get-credentials \
        --resource-group MyResourceGroup \
        --name MyAKSCluster
    
  4. Buat sumber daya Azure OpenAI menggunakan perintah az cognitiveservices account create . Secara opsional lihat tutorial ini untuk instruksi lebih lanjut. Azure OpenAI adalah layanan target yang akan disambungkan oleh kluster AKS.

    az cognitiveservices account create \
        --resource-group MyResourceGroup \
        --name MyOpenAI \
        --location eastus \
        --kind OpenAI \
        --sku s0 \
        --custom-domain myopenai \
        --subscription <SubscriptionID>
    
  5. Sebarkan model dengan perintah az cognitiveservices deployment create . Model digunakan dalam aplikasi sampel untuk menguji koneksi.

    az cognitiveservices account deployment create \
        --resource-group MyResourceGroup \
        --name MyOpenAI \
        --deployment-name MyModel \
        --model-name gpt-4 \
        --model-version 0613 \
        --model-format OpenAI \
        --sku-name "Standard" \
        --capacity 1
    
  6. Buat Azure Container Registry (ACR) untuk menyimpan aplikasi sampel kontainer. Gunakan perintah az acr create , atau lihat tutorial ini.

    az acr create \
        --resource-group MyResourceGroup \
        --name myregistry \
        --sku Standard
    
  7. Aktifkan penarikan anonim menggunakan perintah az acr update sehingga kluster AKS dapat menggunakan gambar dalam registri.

    az acr update \
        --resource-group MyResourceGroup \
        --name myregistry \
        --anonymous-pull-enabled
    
  8. Buat identitas terkelola yang ditetapkan pengguna dengan perintah az identity create , atau dengan merujuk ke tutorial ini. Saat koneksi dibuat, identitas terkelola yang ditetapkan pengguna digunakan untuk mengaktifkan identitas beban kerja untuk beban kerja AKS.

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

Membuat koneksi layanan dari AKS ke Azure OpenAI

Buat koneksi layanan antara kluster AKS dan Azure OpenAI di portal Microsoft Azure atau Azure CLI.

Lihat mulai cepat koneksi layanan AKS untuk instruksi membuat koneksi baru dan isi pengaturan yang mengacu pada contoh dalam tabel berikut. Biarkan semua pengaturan lain dengan nilai defaultnya.

  1. Tab Dasar:

    Pengaturan Contoh nilai Deskripsi
    Namespace Kubernetes Default Namespace Layanan Kubernetes.
    Jenis layanan Layanan OpenAI Jenis layanan target.
    Nama koneksi openai_conn Gunakan nama koneksi yang disediakan oleh Konektor Layanan atau pilih nama koneksi Anda sendiri.
    Langganan Langganan Saya Langganan Azure yang berisi sumber daya Azure OpenAI Anda.
    OpenAI MyOpenAI Sumber daya Azure OpenAI target yang ingin Anda sambungkan.
    Jenis klien Python Bahasa pemrograman atau kerangka kerja untuk konfigurasi koneksi.
  2. Tab Autentikasi:

Pengaturan Autentikasi Contoh nilai Deskripsi
Jenis autentikasi Identitas Beban Kerja Metode autentikasi untuk menyambungkan aplikasi ke Azure OpenAI. Identitas beban kerja direkomendasikan untuk keamanan yang ditingkatkan. Metode alternatif termasuk string koneksi dan perwakilan layanan, dan memerlukan pertimbangan manajemen kredensial.
Langganan Langganan Saya Langganan yang berisi identitas terkelola yang ditetapkan pengguna.
Identitas terkelola yang ditetapkan pengguna myidentity Identitas terkelola yang ditetapkan pengguna yang memungkinkan autentikasi identitas beban kerja untuk kluster AKS.

Setelah koneksi dibuat, Anda bisa menampilkan detailnya di panel Konektor Layanan .

Aplikasi sampel Clone Python

  1. Klon sampel repositori:

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

    cd serviceconnector-aks-samples/azure-openai-workload-identity
    
  3. <MyModel> Ganti tempat penampung dalam app.py file dengan nama model yang kami sebarkan.

Membangun dan mendorong gambar kontainer ke Azure Container Registry

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

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

    az acr repository list --name myregistry --output table
    

Menyebarkan dan menguji AKS ke koneksi Azure OpenAI

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

    • Ganti <YourContainerImage> dengan nama gambar yang Anda buat sebelumnya. Contoh: <myregistry>.azurecr.io/<sc-demo-openai-identity>:<latest>.
    • Ganti <ServiceAccountCreatedByServiceConnector> dengan nama akun layanan. Ini dapat ditemukan di portal Microsoft Azure, di panel Konektor Layanan .
    • Ganti <SecretCreatedByServiceConnector> dengan nama rahasia. Ini dapat ditemukan di portal Microsoft Azure, di panel Konektor Layanan .
  2. Sebarkan pod ke kluster Anda dengan kubectl apply perintah , yang membuat pod bernama sc-demo-openai-identity di namespace default kluster AKS Anda. Instal kubectl secara lokal menggunakan perintah az aks install-cli jika tidak diinstal.

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

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

    kubectl logs pod/sc-demo-openai-identity
    

Membersihkan sumber daya

Jika Anda tidak lagi memerlukan sumber daya yang dibuat dalam tutorial ini, bersihkan dengan menghapus grup sumber daya.

az group delete \
    --resource-group MyResourceGroup