Mengkustomisasikan instans komputasi dengan skrip

Gunakan skrip penyiapan sebagai cara otomatis dalam menyesuaikan dan mengonfigurasi instans komputasi pada waktu memprovisikan.

Gunakan instans komputasi sebagai lingkungan pengembangan anda yang sepenuhnya dikonfigurasi dan dikelola di cloud. Untuk pengembangan dan pengujian, Anda juga dapat menggunakan instance sebagai target komputasi pelatihan atau untuk target inferensi. Instans komputasi dapat menjalankan beberapa pekerjaan secara paralel dan memiliki antrean pekerjaan. Sebagai lingkungan pengembangan, instans komputasi tidak dapat dibagikan dengan pengguna lain di ruang kerja Anda.

Sebagai administrator, Anda dapat menulis skrip kustomisasi yang akan digunakan untuk ketentuan semua instans komputasi di ruang kerja sesuai dengan kebutuhan Anda. Anda dapat mengonfigurasi skrip penyiapan sebagai skrip Pembuatan, yang akan berjalan sekali saat instans komputasi dibuat. Atau Anda dapat mengonfigurasinya sebagai skrip Startup, yang akan berjalan setiap kali instans komputasi dimulai (termasuk pembuatan awal).

Beberapa contoh hal-hal yang dapat Anda lakukan pada skrip penyetelan:

  • Menginstal paket, alat, dan perangkat lunak
  • Pasang data
  • Membuat lingkungan konda kustom dan kernel Jupyter
  • Kloning repositori git dan atur konfigurasi git
  • Setel proksi jaringan
  • Atur variabel lingkungan
  • Instal ekstensi JupyterLab

Membuat skrip penyetelan

Skrip penyiapan adalah skrip shell, yang berjalan sebagai rootuser. Membuat atau mengunggah skrip ke dalam file Notebooks Anda:

  1. Masuk ke studio dan pilih ruang kerja Anda.
  2. Di sebelah kiri, pilih Buku catatan.
  3. Gunakan alat Tambahkan file untuk membuat atau mengunggah skrip shell penyiapan Anda. Pastikan nama file skrip berakhiran ".sh". Saat Anda membuat file baru, ubah juga Tipe File menjadi bash(.sh).

Create or upload your setup script to Notebooks file in studio

Ketika skrip berjalan, direktori kerja skrip saat ini adalah direktori tempat skrip diunggah. Misalnya, jika Anda mengunggah skrip ke Users>admin, lokasi skrip pada instans komputasi dan direktori kerja saat ini saat skrip dijalankan adalah /home/azureuser/cloudfiles/code /Users/admin. Lokasi ini memungkinkan Anda untuk menggunakan jalur relatif dalam skrip.

Argumen skrip dapat disebut dalam skrip sebagai $1, $2, dll.

Jika skrip Anda melakukan sesuatu yang spesifik untuk azureuser seperti menginstal lingkungan conda atau kernel Jupyter, letakkan dalam sudo -u azureuser blok seperti ini:

#!/bin/bash

set -e

# This script installs a pip package in compute instance azureml_py38 environment.

sudo -u azureuser -i <<'EOF'

PACKAGE=numpy
ENVIRONMENT=azureml_py38 
conda activate "$ENVIRONMENT"
pip install "$PACKAGE"
conda deactivate
EOF

Perintah sudo -u azureuser mengubah direktori kerja saat ini menjadi /home/azureuser. Anda juga tidak dapat mengakses argumen skrip di blok ini.

Untuk contoh skrip yang lain, lihat azureml-contoh.

Anda juga dapat menggunakan variabel lingkungan berikut di skrip Anda:

  • CI_RESOURCE_GROUP
  • CI_WORKSPACE
  • CI_NAME
  • CI_LOCAL_UBUNTU_USER - menunjuk ke azureuser

Gunakan skrip penyiapan bersama dengan Azure Policy untuk menyebarkan atau default skrip penyiapan untuk setiap pembuatan instans komputasi. Nilai default untuk timeout skrip penyiapan adalah 15 menit. Waktu dapat diubah di studio, atau melalui templat ARM menggunakan parameter DURATION. DURATION adalah angka floating point dengan akhiran opsional: 's' untuk detik (default), 'm' untuk menit, 'h' untuk jam atau 'd' untuk hari.

Gunakan skrip di studio

Setelah Anda menyimpan skrip, tentukan selama pembuatan instans komputasi Anda:

  1. Masuk ke studio dan pilih ruang kerja Anda.
  2. Di sebelah kiri, pilih Compute.
  3. Pilih +Baru untuk membuat instans komputasi baru.
  4. Isi formulir.
  5. Pada halaman Aplikasi formulir, alihkan pada jenis skrip yang ingin Anda gunakan, pembuatan skrip (jalankan sekali saat membuat instans komputasi) atau skrip startup (jalankan setiap kali instans komputasi dimulai).
  6. Telusuri skrip shell yang Anda simpan. Atau unggah skrip dari komputer Anda.
  7. Tambahkan argumen perintah sesuai kebutuhan.

Screenshot of provision a compute instance with a setup script in the studio.

Tip

Jika penyimpanan ruang kerja dilampirkan ke jaringan virtual, Anda mungkin tidak dapat mengakses file skrip penyiapan kecuali Anda mengakses studio dari dalam jaringan virtual.

Gunakan skrip dalam templat Resource Manager

Dalam templat Manajer Sumber Daya, setupScripts tambahkan untuk memanggil skrip penyetelan saat instans komputasi disediakan. Contohnya:

"setupScripts":{
    "scripts":{
        "creationScript":{
        "scriptSource":"workspaceStorage",
        "scriptData":"[parameters('creationScript.location')]",
        "scriptArguments":"[parameters('creationScript.cmdArguments')]"
        }
    }
}

scriptData di atas menentukan lokasi skrip pembuatan di berbagi file buku catatan seperti Users/admin/testscript.sh. scriptArguments adalah opsional di atas dan menentukan argumen untuk skrip pembuatan.

Sebagai gantinya, Anda dapat menyediakan skrip sebaris untuk templat Manajer Sumber Daya. Perintah shell dapat merujuk ke dependensi apa pun yang diunggah ke dalam berbagi file notebooks. Saat Anda menggunakan string sebaris, direktori kerja skrip adalah /mnt/batch/tasks/shared/LS_root/mounts/clusters/**\<ciname\>**/code/Users.

Misalnya, tentukan string perintah yang dikodekan base64 untuk scriptData :

"setupScripts":{
    "scripts":{
        "creationScript":{
        "scriptSource":"inline",
        "scriptData":"[base64(parameters('inlineCommand'))]",
        "scriptArguments":"[parameters('creationScript.cmdArguments')]"
        }
    }
}

Siapkan log skrip

Log dari eksekusi skrip penyetelan muncul di folder log di halaman detail instans komputasi. Log disimpan kembali ke file notebook Anda di bawah folder Logs\<compute instance name>. File skrip dan argumen perintah untuk contoh komputasi tertentu diperlihatkan di halaman detail.