Melampirkan kluster Kubernetes ke ruang kerja Azure Machine Learning

BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)Python SDK azure-ai-ml v2 (saat ini)

Setelah ekstensi Azure Pembelajaran Mesin disebarkan pada kluster AKS atau Arc Kubernetes, Anda dapat melampirkan kluster Kubernetes ke ruang kerja Azure Pembelajaran Mesin dan membuat target komputasi untuk digunakan oleh profesional ML.

Prasyarat

Melampirkan kluster Kubernetes ke ruang kerja Azure Pembelajaran Mesin dapat secara fleksibel mendukung berbagai skenario. Misalnya, skenario bersama dengan beberapa lampiran, skrip pelatihan model yang mengakses sumber daya Azure, dan konfigurasi autentikasi ruang kerja.

Isolasi multi-lampiran dan beban kerja

Satu kluster ke satu ruang kerja, membuat beberapa target komputasi

  • Untuk kluster Kubernetes yang sama, Anda dapat melampirkannya ke ruang kerja yang sama beberapa kali dan membuat beberapa target komputasi untuk proyek/tim/beban kerja yang berbeda.

Satu kluster ke beberapa ruang kerja

  • Untuk kluster Kubernetes yang sama, Anda juga dapat melampirkannya ke beberapa ruang kerja, dan beberapa ruang kerja dapat berbagi kluster Kubernetes yang sama.

Jika Anda berencana untuk memiliki target komputasi yang berbeda untuk proyek/tim yang berbeda, Anda dapat menentukan namespace Layanan Kubernetes yang ada di kluster Anda untuk target komputasi guna mengisolasi beban kerja di antara tim/proyek yang berbeda.

Penting

Namespace yang Anda rencanakan untuk ditentukan saat melampirkan kluster ke ruang kerja Azure Pembelajaran Mesin harus dibuat sebelumnya di kluster Anda.

Mengakses sumber daya Azure dengan aman dari skrip pelatihan

Jika perlu mengakses sumber daya Azure dengan aman dari skrip pelatihan, Anda dapat menentukan identitas terkelola untuk target komputasi Kubernetes selama operasi lampirkan.

Lampirkan ke ruang kerja dengan identitas terkelola yang ditetapkan pengguna

Ruang kerja Azure Pembelajaran Mesin default memiliki identitas terkelola yang ditetapkan sistem untuk mengakses sumber daya Azure Pembelajaran Mesin. Langkah-langkah tersebut selesai jika pengaturan default yang ditetapkan sistem aktif.

Jika tidak, jika identitas terkelola yang ditetapkan pengguna ditentukan dalam pembuatan ruang kerja Azure Pembelajaran Mesin, penetapan peran berikut perlu diberikan ke identitas terkelola secara manual sebelum melampirkan komputasi.

Nama sumber daya Azure Peran yang akan ditetapkan Deskripsi
Azure Relay Pemilik Azure Relay Hanya berlaku untuk kluster Kubernetes yang mendukung Arc. Azure Relay tidak dibuat untuk kluster AKS tanpa Arc tersambung.
Kubernetes - Azure Arc atau Azure Kubernetes Service Pembaca
Kontributor Ekstensi Kubernetes
Admin Kluster Azure Kubernetes Service
Berlaku untuk kluster Kubernetes yang mendukung Arc dan kluster AKS.

Tip

Sumber daya Azure Relay dibuat selama penyebaran ekstensi di bawah Grup Sumber Daya yang sama dengan kluster Kubernetes yang mendukung Arc.

Catatan

  • Jika izin peran "Kontributor Ekstensi Kubernetes" tidak tersedia, lampiran kluster gagal dengan kesalahan "ekstensi tidak diinstal".
  • Jika izin peran "Admin Kluster Azure Kubernetes Service" tidak tersedia, lampiran kluster gagal dengan kesalahan "server internal".

Cara melampirkan kluster Kubernetes ke ruang kerja Azure Pembelajaran Mesin

Kami mendukung dua cara untuk melampirkan kluster Kubernetes ke ruang kerja Azure Pembelajaran Mesin, menggunakan Azure CLI atau antarmuka pengguna studio.

Perintah CLI v2 berikut menunjukkan cara melampirkan kluster Kubernetes yang didukung AKS dan Azure Arc, dan menggunakannya sebagai target komputasi dengan identitas terkelola diaktifkan.

Kluster AKS

az ml compute attach --resource-group <resource-group-name> --workspace-name <workspace-name> --type Kubernetes --name k8s-compute --resource-id "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ContainerService/managedclusters/<cluster-name>" --identity-type SystemAssigned --namespace <Kubernetes namespace to run Azure Machine Learning workloads> --no-wait

Kluster Arc Kubernetes

az ml compute attach --resource-group <resource-group-name> --workspace-name <workspace-name> --type Kubernetes --name amlarc-compute --resource-id "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Kubernetes/connectedClusters/<cluster-name>" --user-assigned-identities "subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity-name>" --no-wait

Atur --type argumen ke Kubernetes. Gunakan argumen identity_type untuk mengaktifkan identitas terkelola SystemAssigned atau UserAssigned.

Penting

--user-assigned-identities hanya diperlukan untuk identitas terkelola UserAssigned. Meskipun Anda dapat memberikan daftar identitas terkelola pengguna yang terpisah koma, hanya yang pertama yang digunakan saat Anda memasang kluster.

Pemasangan komputasi tidak akan otomatis membuat namespace Kubernetes atau memvalidasi ketersediaan namespace Kubernetes. Anda perlu memverifikasi bahwa namespace yang ditentukan ada di kluster Anda, jika tidak, beban kerja Azure Pembelajaran Mesin apa pun yang dikirimkan ke komputasi ini akan gagal.

Menetapkan identitas terkelola ke target komputasi

Tantangan umum bagi pengembang adalah pengelolaan rahasia dan kredensial yang digunakan untuk mengamankan komunikasi antara komponen solusi yang berbeda. Identitas terkelola menghilangkan kebutuhan pengembang untuk mengelola info masuk.

Untuk mengakses Azure Container Registry (ACR) untuk gambar Docker, dan Akun Penyimpanan untuk data pelatihan, lampirkan komputasi Kubernetes dengan identitas terkelola yang ditetapkan sistem atau ditetapkan pengguna diaktifkan.

Menetapkan identitas terkelola

  • Anda dapat menetapkan identitas terkelola ke komputasi di langkah lampirkan komputasi.

  • Jika komputasi telah dilampirkan, Anda dapat memperbarui pengaturan untuk menggunakan identitas terkelola di studio Azure Pembelajaran Mesin.

    • Buka studio Azure Pembelajaran Mesin. Pilih Komputasi, Komputasi terlampir, dan pilih komputasi terlampir Anda.
    • Pilih ikon pensil untuk mengedit identitas terkelola.

    Screenshot of updating identity of the Kubernetes compute from Azure portal.

    Screenshot of selecting identity of the Kubernetes compute from Azure portal.

Menetapkan peran Azure ke identitas terkelola

Azure menawarkan beberapa cara untuk menetapkan peran ke identitas terkelola.

Jika Anda menggunakan portal Azure untuk menetapkan peran dan memiliki identitas terkelola yang ditetapkan sistem, Pilih Pengguna, Perwakilan Grup, atau Perwakilan Layanan, Anda dapat mencari nama identitas dengan memilih Pilih anggota. Nama identitas perlu diformat sebagai: <workspace name>/computes/<compute target name>.

Jika Anda memiliki identitas terkelola yang ditetapkan pengguna, pilih Identitas terkelola untuk menemukan identitas target.

Anda dapat menggunakan Identitas Terkelola untuk menarik gambar dari Azure Container Registry. Berikan peran AcrPull ke Identitas Terkelola komputasi. Untuk informasi selengkapnya, lihat Peran dan izin Azure Container Registry.

Anda dapat menggunakan identitas terkelola untuk mengakses Azure Blob:

  • Untuk tujuan baca-saja, peran Pembaca Data Blob Penyimpanan harus diberikan ke identitas terkelola komputasi.
  • Untuk tujuan baca-tulis, peran Kontributor Data Blob Penyimpanan harus diberikan ke identitas terkelola komputasi.

Langkah berikutnya