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, który będzie uruchamiany raz po utworzeniu wystąpienia obliczeniowego. Możesz też skonfigurować go jako skrypt uruchamiania, który będzie 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 :

  1. Zaloguj się do studia i wybierz swój obszar roboczy.
  2. Po lewej stronie wybierz pozycję Notesy.
  3. 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).

Create or upload your setup script to Notebooks file in studio

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 
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 na azureuser

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:

  1. Zaloguj się do programu Studio i wybierz swój obszar roboczy.
  2. Po lewej stronie wybierz pozycję Obliczenia.
  3. Wybierz pozycję +Nowy , aby utworzyć nowe wystąpienie obliczeniowe.
  4. Wypełnij formularz.
  5. 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).
  6. Przejdź do zapisanego skryptu powłoki. Możesz też przekazać skrypt z komputera.
  7. Dodaj argumenty poleceń zgodnie z potrzebami.

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

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 powyżej określa lokalizację skryptu tworzenia w udziale plików notesów, takim jak Users/admin/testscript.sh. scriptArguments parametr jest opcjonalny powyżej 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.

Na przykład określ ciąg polecenia zakodowany w formacie base64 dla scriptDatapolecenia :

"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.