Přizpůsobení výpočetní instance pomocí skriptu

Pomocí instalačního skriptu můžete automatizovaně přizpůsobit a nakonfigurovat výpočetní instanci při zřizování.

Jako plně nakonfigurované a spravované vývojové prostředí v cloudu použijte výpočetní instanci. Pro vývoj a testování můžete také použít instanci jako trénovací cílový výpočetní objekt nebo pro cíl odvozování. Výpočetní instance může paralelně spouštět více úloh a má frontu úloh. Jako vývojové prostředí není možné výpočetní instanci sdílet s ostatními uživateli ve vašem pracovním prostoru.

Jako správce můžete napsat skript přizpůsobení, který se použije ke zřízení všech výpočetních instancí v pracovním prostoru podle vašich požadavků. Instalační skript můžete nakonfigurovat jako skript pro vytvoření, který se spustí jednou při vytvoření výpočetní instance. Nebo ho můžete nakonfigurovat jako spouštěcí skript, který se spustí při každém spuštění výpočetní instance (včetně počátečního vytvoření).

Několik příkladů toho, co můžete v instalačním skriptu dělat:

  • Instalace balíčků, nástrojů a softwaru
  • Připojení dat
  • Vytvoření vlastního prostředí Conda a jader Jupyter
  • Klonování úložišť Git a nastavení konfigurace Gitu
  • Nastavení síťových proxy serverů
  • Nastavení proměnných prostředí
  • Instalace rozšíření JupyterLab

Vytvoření instalačního skriptu

Instalační skript je skript prostředí, který běží jako rootuser. Vytvořte nebo nahrajte skript do souborů poznámkových bloků:

  1. Přihlaste se do studia a vyberte svůj pracovní prostor.
  2. Vlevo vyberte Poznámkové bloky.
  3. Pomocí nástroje Přidat soubory vytvořte nebo nahrajte instalační skript prostředí. Ujistěte se, že název souboru skriptu končí na ".sh". Při vytváření nového souboru také změňte typ souboru na Bash(.sh).

Create or upload your setup script to Notebooks file in studio

Při spuštění skriptu je aktuálním pracovním adresářem skriptu adresář, do kterého byl nahrán. Pokud například nahrajete skript do správce Users>, umístění skriptu ve výpočetní instanci a aktuálním pracovním adresáři při spuštění skriptu je /home/azureuser/cloudfiles/code/Users/admin. Toto umístění umožňuje používat relativní cesty ve skriptu.

Argumenty skriptu lze ve skriptu odkazovat jako $1, $2 atd.

Pokud váš skript prováděl něco specifického pro azureuser, například instalaci prostředí Conda nebo jádra Jupyter, vložte ho do sudo -u azureuser bloku takto:

#!/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

Příkaz sudo -u azureuser změní aktuální pracovní adresář na /home/azureuser. Nemůžete také získat přístup k argumentům skriptu v tomto bloku.

Další ukázkové skripty najdete v příkladech azureml-examples.

Ve skriptu můžete také použít následující proměnné prostředí:

  • CI_RESOURCE_GROUP
  • CI_WORKSPACE
  • CI_NAME
  • CI_LOCAL_UBUNTU_USER - odkazuje na azureuser

Pomocí instalačního skriptu ve spojení se službou Azure Policy můžete vynutit nebo výchozí instalační skript pro každé vytvoření výpočetní instance. Výchozí hodnota časového limitu instalačního skriptu je 15 minut. Čas můžete změnit v studiu nebo prostřednictvím šablon ARM pomocí parametru DURATION . DURATION je číslo s plovoucí desetinou čárkou s volitelnou příponou: 's' pro sekundy (výchozí), 'm' minuty, 'h' hodiny nebo 'd' dny.

Použití skriptu v studiu

Jakmile skript uložíte, zadejte ho během vytváření výpočetní instance:

  1. Přihlaste se do studia a vyberte svůj pracovní prostor.
  2. Na levé straně vyberte Compute.
  3. Vyberte +Nový a vytvořte novou výpočetní instanci.
  4. Vyplňte formulář.
  5. Na stránce Aplikace formuláře zapněte typ skriptu, který chcete použít, vytvoření skriptu (spouštěného jednou při vytváření výpočetní instance) nebo spouštěcího skriptu (spusťte při každém spuštění výpočetní instance).
  6. Přejděte ke skriptu prostředí, který jste uložili. Nebo nahrajte skript z počítače.
  7. Podle potřeby přidejte argumenty příkazu.

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

Tip

Pokud je úložiště pracovního prostoru připojené k virtuální síti, možná nebudete mít přístup k instalačnímu souboru skriptu, pokud nemáte přístup k sadě Studio z virtuální sítě.

Použití skriptu v šabloně Resource Manageru

V šabloně Resource Manageru přidejte setupScripts k vyvolání instalačního skriptu při zřízení výpočetní instance. Příklad:

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

scriptData výše určuje umístění skriptu pro vytvoření ve sdílené složce poznámkových bloků, například Users/admin/testscript.sh. scriptArguments je nepovinný výše a určuje argumenty pro skript pro vytvoření.

Místo toho můžete zadat vložený skript pro šablonu Resource Manageru. Příkaz prostředí může odkazovat na všechny závislosti nahrané do sdílené složky poznámkových bloků. Při použití vloženého řetězce je pracovní adresář skriptu /mnt/batch/tasks/shared/LS_root/mounts/clusters/**\<ciname\>**/code/Users.

Zadejte například řetězec příkazu s kódováním base64 pro scriptData:

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

Nastavení protokolů skriptů

Protokoly spuštění instalačního skriptu se nachází ve složce protokolů na stránce s podrobnostmi o výpočetní instanci. Protokoly se ukládají zpět do vaší sdílené složky poznámkových bloků ve složce Logs\<compute instance name>. Soubor skriptu a argumenty příkazů pro konkrétní výpočetní instanci se zobrazují na stránce podrobností.