Dostosowywanie wystąpienia obliczeniowego za pomocą skryptu
Użyj skryptu konfiguracji, aby zautomatyzować sposób dostosowywania i konfigurowania wystąpienia obliczeniowego w czasie aprowizacji.
Użyj wystąpienia obliczeniowego jako w pełni skonfigurowanego i zarządzanego środowiska programistycznego w chmurze. Na potrzeby programowania i testowania można również użyć wystąpienia jako celu obliczeniowego trenowania lub docelowego wnioskowania. Wystąpienie obliczeniowe może uruchamiać wiele zadań równolegle i ma kolejkę zadań. Jako środowisko programistyczne wystąpienie obliczeniowe nie może być współużytkowane przez innych użytkowników w obszarze roboczym.
Jako administrator możesz napisać skrypt dostosowywania, który będzie używany do aprowizacji wszystkich wystąpień obliczeniowych w obszarze roboczym zgodnie z wymaganiami. Skrypt konfiguracji można skonfigurować jako:
- Skrypt tworzenia — jest uruchamiany raz po utworzeniu wystąpienia obliczeniowego.
- Skrypt uruchamiania — uruchamiany za każdym razem, gdy wystąpienie obliczeniowe jest uruchamiane (w tym początkowe tworzenie).
Niektóre przykłady tego, co można zrobić w skrypcie konfiguracji:
- Instalowanie pakietów, narzędzi i oprogramowania
- Instalowanie danych
- Tworzenie niestandardowych środowisk conda i jąder Jupyter
- Klonowanie repozytoriów git i ustawianie konfiguracji git
- Ustawianie sieciowych serwerów proxy
- Ustawianie zmiennych środowiskowych
- Instalowanie rozszerzeń JupyterLab
Tworzenie skryptu instalacji
Skrypt konfiguracji jest skryptem powłoki, który jest uruchamiany jako rootuser
. Utwórz lub przekaż skrypt do plików notesów :
- Zaloguj się do studia i wybierz swój obszar roboczy.
- Po lewej stronie wybierz pozycję Notesy.
- Użyj narzędzia Dodaj pliki, aby utworzyć lub przekazać skrypt powłoki konfiguracji. Upewnij się, że nazwa pliku skryptu kończy się ciągem ".sh". Podczas tworzenia nowego pliku zmień również typ pliku na bash(.sh).
Po uruchomieniu skryptu bieżący katalog roboczy skryptu to katalog, w którym został przekazany. Jeśli na przykład przekażesz skrypt do administratora Użytkownicy, lokalizacja skryptu w wystąpieniu obliczeniowym i bieżącym katalogu roboczym, gdy skrypt zostanie uruchomiony, to /home/azureuser/cloudfiles/code/Users/admin.> Ta lokalizacja umożliwia używanie ścieżek względnych w skry skrycie.
Argumenty skryptu mogą być określane w skry skryptzie jako $1, $2 itd.
Jeśli skrypt wykonywał coś specyficznego dla użytkownika azureuser, takiego jak instalowanie środowiska Conda lub jądra Jupyter, umieść go w sudo -u azureuser
bloku w następujący sposób:
#!/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
source /anaconda/etc/profile.d/conda.sh
conda activate "$ENVIRONMENT"
pip install "$PACKAGE"
conda deactivate
EOF
Polecenie sudo -u azureuser
zmienia bieżący katalog roboczy na /home/azureuser
. Nie można również uzyskać dostępu do argumentów skryptu w tym bloku.
Aby zapoznać się z innymi przykładowymi skryptami, zobacz azureml-examples.
W skrycie można również użyć następujących zmiennych środowiskowych:
CI_RESOURCE_GROUP
CI_WORKSPACE
CI_NAME
CI_LOCAL_UBUNTU_USER
- wskazuje naazureuser
Użyj skryptu konfiguracji w połączeniu z usługą Azure Policy, aby wymusić lub domyślny skrypt konfiguracji dla każdego tworzenia wystąpienia obliczeniowego.
Wartość domyślna limitu czasu skryptu konfiguracji to 15 minut. Czas można zmienić w studio lub za pomocą szablonów usługi ARM przy użyciu parametru DURATION
.
DURATION
jest liczbą zmiennoprzecinkową z opcjonalnym sufiksem: 's'
w sekundach (wartość domyślna), 'm'
w minutach, 'h'
godzinach lub 'd'
dniach.
Korzystanie ze skryptu w programie Studio
Po przechowywaniu skryptu określ go podczas tworzenia wystąpienia obliczeniowego:
- Zaloguj się do programu Studio i wybierz swój obszar roboczy.
- Po lewej stronie wybierz pozycję Obliczenia.
- Wybierz pozycję +Nowy , aby utworzyć nowe wystąpienie obliczeniowe.
- Wypełnij formularz.
- Na stronie Aplikacje formularza przełącz typ skryptu, którego chcesz użyć, skrypt tworzenia (uruchamiany raz podczas tworzenia wystąpienia obliczeniowego) lub skrypt uruchamiania (uruchamiany za każdym razem, gdy wystąpienie obliczeniowe jest uruchamiane).
- Przejdź do zapisanego skryptu powłoki. Możesz też przekazać skrypt z komputera.
- Dodaj argumenty poleceń zgodnie z potrzebami.
Napiwek
Jeśli magazyn obszarów roboczych jest dołączony do sieci wirtualnej, dostęp do pliku skryptu konfiguracji może być niedostępny, chyba że uzyskujesz dostęp do programu Studio z poziomu sieci wirtualnej.
Używanie skryptu w szablonie usługi Resource Manager
W szablonie usługi Resource Manager dodaj polecenie setupScripts
, aby wywołać skrypt konfiguracji podczas aprowizowania wystąpienia obliczeniowego. Na przykład:
"setupScripts":{
"scripts":{
"creationScript":{
"scriptSource":"workspaceStorage",
"scriptData":"[parameters('creationScript.location')]",
"scriptArguments":"[parameters('creationScript.cmdArguments')]"
}
}
}
scriptData
w tym kodzie określa lokalizację skryptu tworzenia w udziale plików notesów, takim jak Users/admin/testscript.sh
.
scriptArguments
jest opcjonalny i określa argumenty skryptu tworzenia.
Zamiast tego można podać skrypt wbudowany dla szablonu usługi Resource Manager. Polecenie powłoki może odwoływać się do wszystkich zależności przekazanych do udziału plików notesów. W przypadku używania ciągu wbudowanego katalog roboczy skryptu to /mnt/batch/tasks/shared/LS_root/mounts/clusters/<ciname>/code/Users
, gdzie .<ciname>
to nazwa wystąpienia obliczeniowego.
For example, specify a base64 encoded command string for `scriptData`:
```json
"setupScripts":{
"scripts":{
"creationScript":{
"scriptSource":"inline",
"scriptData":"[base64(parameters('inlineCommand'))]",
"scriptArguments":"[parameters('creationScript.cmdArguments')]"
}
}
}
Dzienniki skryptów instalacji
Dzienniki wykonywania skryptu konfiguracyjnego znajdują się w folderze dzienników na stronie szczegółów wystąpienia obliczeniowego. Dzienniki są zapisywane z powrotem w udziałach plików notesów w folderze Logs\<compute instance name>
. Argumenty pliku skryptu i polecenia dla określonego wystąpienia obliczeniowego są wyświetlane na stronie szczegółów.