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.
Menetapkan peran Azure ke identitas terkelola
Azure menawarkan beberapa cara untuk menetapkan peran ke identitas terkelola.
- Menggunakan portal Azure untuk menetapkan peran
- Menggunakan Azure CLI untuk menetapkan peran
- Menggunakan Azure PowerShell untuk menetapkan peran
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.