Számítási példány testreszabása szkripttel

A beállítási szkript használatával automatikusan testre szabhatja és konfigurálhatja a számítási példányokat a kiépítéskor.

Használjon számítási példányt teljes mértékben konfigurált és felügyelt fejlesztési környezetként a felhőben. A fejlesztéshez és teszteléshez a példányt betanítási számítási célkéntvagy következtetési célként is használhatja. A számítási példányok egyszerre több feladatot is futtathatnak, és feladatsorsal is rendelkezhetnek. Fejlesztési környezetként a számítási példányok nem oszthatók meg a munkaterület többi felhasználójával.

Rendszergazdaként írhat egy testreszabási szkriptet, amellyel a munkaterület összes számítási példánya az Ön igényeinek megfelelően építhető ki. A beállítási szkriptet létrehozható szkriptként is konfigurálhatja, amely a számítási példány létrehozásakor egyszer fog futni. Vagy beállíthatja indítási szkriptként is, amely a számítási példány minden indításakor lefut (beleértve a kezdeti létrehozást is).

Néhány példa arra, milyen lehetőségeket biztosít egy beállítási szkript:

  • Csomagok, eszközök és szoftverek telepítése
  • Adatok csatlakoztatása
  • Egyéni Conda-környezet és Jupyter-kernelek létrehozása
  • Git-adattárak klónozása és git-konfiguráció beállítása
  • Hálózati proxyk beállítása
  • Környezeti változók beállítása
  • JupyterLab-bővítmények telepítése

A beállítási szkript létrehozása

A beállítási szkript egy rendszerhéjszkript, amely a rootuserkövetkezőképpen fut: . Hozza létre vagy töltse fel a szkriptet a Notebooks-fájlokba :

  1. Jelentkezzen be a stúdióba , és válassza ki a munkaterületet.
  2. A bal oldalon válassza a Jegyzetfüzetek lehetőséget.
  3. A Fájlok hozzáadása eszközzel hozhatja létre vagy töltheti fel a telepítőhéj-szkriptet. Győződjön meg arról, hogy a szkriptfájl neve ".sh" végződésű. Új fájl létrehozásakor a fájltípust is módosítsa bash(.sh)-ra.

Create or upload your setup script to Notebooks file in studio

A szkript futtatásakor a szkript aktuális munkakönyvtára az a könyvtár, ahová feltöltötték. Ha például feltölti a szkriptet a Felhasználók>rendszergazdájának, a szkript helye a számítási példányon és az aktuális munkakönyvtárban a szkript futtatásakor /home/azureuser/cloudfiles/code/Users/admin. Ez a hely lehetővé teszi relatív elérési utak használatát a szkriptben.

A szkript argumentumai $1, $2 stb. néven is hivatkozhatnak a szkriptben.

Ha a szkript az Azureuserre jellemző dolgot végzett, például a Conda-környezet vagy a Jupyter kernel telepítését, tegye a következő blokkba sudo -u azureuser :

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

A parancs sudo -u azureuser az aktuális munkakönyvtárat a következőre /home/azureusermódosítja: . A blokk szkriptargumentumai szintén nem érhetők el.

További példaszkriptekért lásd az azureml-példákat.

A szkriptben a következő környezeti változókat is használhatja:

  • CI_RESOURCE_GROUP
  • CI_WORKSPACE
  • CI_NAME
  • CI_LOCAL_UBUNTU_USER - a azureuser

Az Azure Policyval együtt használjon beállítási szkriptet a beállítási szkript kényszerítéséhez vagy alapértelmezett beállításához minden számítási példány létrehozásához. A beállítási szkriptek időtúllépésének alapértelmezett értéke 15 perc. Az idő módosítható a studióban vagy ARM-sablonokon keresztül a DURATION paraméter használatával. DURATION egy lebegőpontos szám, amely opcionális utótaggal rendelkezik: 's' másodpercre (alapértelmezett), 'm' percekre, 'h' órákra vagy 'd' napokra.

A szkript használata a studióban

A szkript tárolása után adja meg a számítási példány létrehozásakor:

  1. Jelentkezzen be a studióba, és válassza ki a munkaterületet.
  2. A bal oldalon válassza a Számítás lehetőséget.
  3. Új számítási példány létrehozásához válassza az +Új lehetőséget.
  4. Töltse ki az űrlapot.
  5. Az űrlap Alkalmazások lapján váltson a használni kívánt szkript típusára, a létrehozási szkriptre (a számítási példány létrehozásakor egyszer fut) vagy az indítási szkriptre (futtassa a számítási példány minden indításakor).
  6. Keresse meg a mentett rendszerhéj-szkriptet. Vagy töltsön fel egy szkriptet a számítógépről.
  7. Szükség szerint adjon hozzá parancsargumentumokat.

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

Tipp.

Ha a munkaterület tárolója virtuális hálózathoz van csatolva, előfordulhat, hogy csak akkor férhet hozzá a telepítő szkriptfájlhoz, ha a virtuális hálózaton belülről éri el a stúdiót.

A szkript használata Resource Manager-sablonban

Egy Resource Manager-sablonban adja hozzá setupScripts a beállítási szkript meghívásához a számítási példány kiépítésekor. Példa:

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

scriptData A fenti beállítás megadja a létrehozási szkript helyét a jegyzetfüzetek fájlmegosztásában, például Users/admin/testscript.sh. scriptArguments a fenti nem kötelező, és megadja a létrehozási szkript argumentumait.

Ehelyett megadhat egy Resource Manager-sablonhoz beágyazott szkriptet. A rendszerhéj parancs hivatkozhat a jegyzetfüzetek fájlmegosztásába feltöltött függőségekre. Beágyazott sztring használata esetén a szkript munkakönyvtára a /mnt/batch/tasks/shared/LS_root/mounts/clusters/**\<ciname\>**/code/Userskövetkező: .

Adjon meg például egy base64 kódolású parancssztringet a következőhöz scriptData:

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

Szkriptnaplók beállítása

A beállítási szkript végrehajtásának naplói a számítási példány részleteinek lapján, a naplók mappában láthatók. A naplók a notebookok fájlmegosztásában, a Logs\<compute instance name> mappában vannak tárolva. Az adott számítási példány szkriptfájlja és parancsargumentumai a részletek lapon jelennek meg.