Cvičení – vytvoření skriptu cloud-init pro použití s Azure CycleCloudem

Dokončeno

Při zřizování uzlů clusteru můžete být schopni provádět vlastní úlohy konfigurace během procesu spouštění operačního systému, než se projeví všechny změny řízené plánovačem. Mezi tyto úlohy patří například aktualizace proměnných prostředí PATH, konfigurace nastavení překladu názvů DNS (Domain Name System) nebo připojení uzlů k doménové službě Microsoft Entra Domain Services (AD DS).

Pokud chcete tuto funkci implementovat, rozhodnete se prozkoumat použití cloud-init v clusterech Azure CycleCloud a otestovat ji pomocí jednoduchého skriptu Bash, který upraví obsah místního souboru na každém uzlu. Chcete ověřit výsledek připojením k uzlům clusteru a kontrolou obsahu upravených souborů.

Poznámka

Při vytváření skriptů cloud-init můžete použít jakoukoli metodu skriptování nebo konfigurace, kterou může operační systém spuštěný na cílových uzlech rozpoznat a zpracovat, včetně tradičního skriptování prostředí, Pythonu a YAML.

V tomto cvičení provedete následující úlohy:

  • Úloha 1: Konfigurace ověřování založeného na SSH na uzlech clusteru Azure CycleCloud
  • Úloha 2: Přidání skriptu cloud-init do uzlů clusteru
  • Úloha 3: Ověření funkčnosti cloud-init v uzlu plánovače
  • Úloha 4: Ověření funkčnosti cloud-init na výpočetních uzlech
  • Úkol 5: Vyčištění prostředí cvičení

Poznámka

Před zahájením tohoto cvičení se ujistěte, že jste úspěšně dokončili předchozí cvičení.

Úloha 1: Konfigurace ověřování založeného na SSH na uzlech clusteru Azure CycleCloud

Pokud chcete ověřit spouštění skriptů cloud-init, připojíte se k uzlům clusteru pomocí Azure CycleCloud CLI z Azure Cloud Shellu. Toto připojení spoléhá na ověřování založené na klíči SSH, takže budete muset nahrát privátní klíč odpovídající veřejnému klíči distribuovanému do uzlů clusteru do domovského adresáře Azure Cloud Shellu.

  1. Přejděte na web Azure Portal a po zobrazení výzvy se ověřte pomocí účtu Microsoft nebo účtu Microsoft Entra s rolí Přispěvatel nebo Vlastník v předplatném Azure, které používáte v tomto modulu.

  2. Na webu Azure Portal otevřete Cloud Shell tak, že na panelu nástrojů vedle vyhledávacího pole vyberete její ikonu a ověříte, že spouštíte relaci Bash.

  3. V podokně Azure Cloud Shell na panelu nástrojů podokna vyberte čtvrtou ikonu zobrazující stránku s dvojicí svislých šipek směřujících v opačných směrech. Potom v rozevírací nabídce vyberte Nahrát.

  4. V dialogovém okně Otevřít přejděte do umístění souboru .pem obsahujícího privátní klíč a vyberte Otevřít.

  5. Spuštěním následujících příkazů v Cloud Shellu přesuňte nahraný soubor .pem do správného umístění a nakonfigurujte potřebná oprávnění na úrovni souboru (zástupný symbol nahraďte <private_key.pem> názvem souboru .pem ):

    mkdir -p ~/.ssh
    mv private_key.pem ~/.ssh
    chmod 600 ~/.ssh/cc-ssh-keys.pem
    

Úloha 2: Přidání skriptu cloud-init do uzlů clusteru

Možnost přidání skriptů do uzlů clusteru je dostupná přímo z grafického rozhraní Azure CycleCloud. Použijete ho k přiřazení stejného skriptu cloud-init plánovači a výpočetním uzlům a ověření jeho funkčnosti. Skript přidá položku 10.10.10.10 cc.contoso.com do souboru /etc/hosts .

  1. Pokud ještě nejste připojení k webové aplikaci Azure CycleCloud, otevřete další okno prohlížeče a přejděte na adresu URL https://< IP_address> . Pokud se zobrazí výzva, potvrďte, že chcete pokračovat.

  2. Pokud se zobrazí výzva k ověření, přihlaste se zadáním přihlašovacích údajů uživatelského účtu aplikace Azure CycleCloud s rolí Správce.

  3. V grafickém rozhraní Azure CycleCloud přejděte na stránku Clusters . V seznamu clusterů vyberte položku contoso-custom-slurm-lab-cluster a pak vyberte Upravit.

  4. Ve vyskakovacím okně Upravit contoso-custom-slurm-lab-cluster vyberte položku Cloud-init a na kartě plánovač v části konfigurace Cloud-init zadejte následující skript:

    #!/bin/bash
    echo "10.10.10.10 www.contoso.com" >> /etc/hosts
    

    Snímek obrazovky karty Cloud-init v automaticky otevíraném okně Upravit contoso-custom-slurm-lab-cluster ve webové aplikaci Azure CycleCloud

  5. Ve stejném automaticky otevíraném okně, s vybranou položkou Cloud-init, vyberte každou z dalších karet (včetně cuda, hpca htc) a zadejte stejný skript. Vyberte Uložit.

Úloha 3: Ověření funkčnosti cloud-init v uzlu plánovače

Pokud chcete ověřit funkčnost cloud-init v uzlu plánovače, spustíte cluster. Tím se iniciuje zřizování uzlu plánovače. Po spuštění uzlu se k němu budete moct připojit z Azure Cloud Shellu a ověřit, že soubor /etc/hosts obsahuje položku 10.10.10.10 www.contoso.com.

  1. V okně prohlížeče, které zobrazuje webovou aplikaci Azure CycleCloud, vyberte odkaz Spustit na stránce clusteru contoso-custom-slurm-lab. Po zobrazení výzvy k potvrzení vyberte OK.

    Poznámka

    Pokud je cluster již spuštěný, budete ho muset ukončit a restartovat, aby se použila aktualizovaná konfigurace, jinak se tato konfigurace v následujících krocích nezobrazí.

  2. V seznamu uzlů vyberte položku Scheduler a v podokně Podrobnosti monitorujte její stav a počkejte, než se změní z Získání na Připraveno.

    Poznámka

    Může to trvat asi tři minuty.

  3. V podokně Podrobnosti vyberte Připojit. V okně Připojení k uzlu: plánovač v části Použití rozhraní příkazového řádku CycleCloud vyberte položku obsahující příkaz, který vám umožní připojit se k uzlu plánovače, a poté vyberte Zavřít:

    Snímek obrazovky vyskakovacího okna Připojení k uzlu: plánovač ve webové aplikaci Azure CycleCloud.

    Poznámka

    Příkaz by měl mít formát cyclecloud connect scheduler -c contoso-custom-slurm-lab-cluster

  4. Přepněte do okna webového prohlížeče s podoknem Cloud Shell a spusťte příkaz, který jste zkopírovali v předchozím kroku.

    Poznámka

    Příkaz by měl generovat výstup v následujícím formátu:

    m@Azure:~$ cyclecloud connect scheduler -c contoso-custom-slurm-lab-cluster
    Connecting to cc-admin@40.87.52.25 (contoso-custom-slurm-lab-cluster scheduler) using SSH
    [cc-admin@ip-0A000304 ~]$
    
  5. Pokud jste připojení k uzlu plánovače, spuštěním následujícího příkazu ověřte, že soubor /etc/hosts obsahuje položku 10.10.10.10 www.contoso.com:

    grep "10.10.10.10 www.contoso.com" /etc/hosts
    

    Poznámka

    Příkaz by měl generovat výstup v následujícím formátu:

    [cc-admin@ip-0A000304 ~]$ grep "10.10.10.10 www.contoso.com" /etc/hosts
    10.10.10.10 www.contoso.com
    

Úloha 4: Ověření funkčnosti cloud-init na výpočetních uzlech

Teď zopakujete ekvivalentní posloupnost kroků, abyste ověřili funkčnost cloud-init na výpočetních uzlech.

Důležitý

Než budete moct použít ekvivalentní postup k ověření funkčnosti cloud-init na výpočetních uzlech, musíte odebrat a relokovat odpovídající škálovací sadu virtuálních počítačů. Tento krok je specifický pro clustery založené na slurmu, protože v tomto případě integrace automatického škálování plánovače vyžaduje, aby služba Azure CycleCloud předem naplňuje výpočetní uzly. V důsledku toho by konfigurace cloud-init, kterou jste použili dříve v tomto cvičení, neovlivní již existující uzly.

  1. Během připojení k uzlu plánovače spusťte v Cloud Shellu následující příkazy, které odeberou a přeloží výpočetní uzly v clusteru Azure CycleCloud a ukončí připojení k uzlu plánovače:

    sudo -i
    cd /opt/cycle/jetpack/system/bootstrap/slurm
    ./cyclecloud_slurm.sh remove_nodes
    ./cyclecloud_slurm.sh scale
    exit
    exit
    

    Poznámka

    Budete informováni zprávami oznamujícími Pokus o odebrání následujících uzlů, následovanými dokončením opětovného škálování clusteru, jakmile bude tento krok dokončen.

  2. Na počítači přepněte do okna webového prohlížeče zobrazující stránku contoso-custom-slurm-lab-cluster webové aplikace Azure CycleCloud. Na kartě Uzly vyberte řádek htc, v podokně Podrobnosti vyberte položku htc-1, a následně vyberte záhlaví karty Akce. V rozevírací nabídce vyberte Start a po zobrazení výzvy k potvrzení vyberte OK .

    Snímek obrazovky s nabídkou Akce na stránce contoso-custom-slurm-lab-cluster ve webové aplikaci Azure CycleCloud.

  3. V podokně Podrobností monitorujte nově spuštěný uzel a počkejte, až se změní stav Získávání na Připraveno.

    Poznámka

    Může to trvat asi tři minuty.

  4. V podokně Podrobnosti vyberte Připojit. Ve vyskakovacím okně Připojit k uzlu: htc-1 vyberte položku v sekci Pomocí rozhraní příkazového řádku CycleCloud obsahující příkaz pro připojení k uzlu plánovače a klikněte na Zavřít.

    Snímek obrazovky vyskakovacího okna Připojení k uzlu: htc-1 ve webové aplikaci Azure CycleCloud.

    Poznámka

    Příkaz by měl mít formát cyclecloud connect htc-1 -c contoso-custom-slurm-lab-cluster.

  5. Přepněte do podokna Cloud Shell a spusťte příkaz, který jste zkopírovali v předchozím kroku.

    Poznámka

    Příkaz by měl generovat výstup v následujícím formátu:

    m@Azure:~$ cyclecloud connect htc-1 -c contoso-custom-slurm-lab-cluster
    Connecting to cc-admin@10.0.3.5 (contoso-custom-slurm-lab-cluster htc-1) through SSH bastion at cc-admin@40.87.52.25
    [cc-admin@ip-0A000305 ~]$
    
  6. Pokud jste připojení k uzlu htc-1 , spuštěním následujícího příkazu ověřte, že soubor /etc/hosts obsahuje položku 10.10.10.10 www.contoso.com:

    cat /etc/hosts | grep "10.10.10.10 www.contoso.com"
    

    Poznámka

    Po dosažení tohoto bodu byste měli odstranit všechny prostředky, které jste nasadili v tomto a předchozím cvičení tohoto modulu. To vám umožní vyhnout se poplatkům spojeným s údržbou těchto prostředků vůči vašemu předplatnému Azure.

Úloha 5: Vyčištění testovacího prostředí

Testování přizpůsobení clusteru pomocí aplikace Azure CycleCloud je dokončené. Abyste se vyhnuli zbytečným nákladům spojeným s používáním prostředků Azure, ukončíte cluster a odeberete všechny prostředky, které jste zřídili v průběhu cvičení tohoto modulu.

  1. Ve webovém prohlížeči zobrazující grafické rozhraní webové aplikace Azure CycleCloud vyberte odkaz Ukončit na stránce contoso-custom-slurm-lab-cluster a po zobrazení výzvy k potvrzení vyberte OK.

  2. Monitorujte proces ukončení.

    Poznámka

    Tento proces zahrnuje odebrání virtuálního počítače Azure, který plní roli hlavního uzlu clusteru. Může to trvat asi pět minut.

    Poznámka

    Pokud chcete odstranit všechny ostatní prostředky, které jste v tomto cvičení zřídili, odstraníte skupiny prostředků hostující prostředky clusteru.

  3. Na webu Azure Portal přejděte do okna skupiny prostředků hostující prostředky clusteru a na panelu nástrojů vyberte položku Odstranit skupinu prostředků . Do textového pole Zadejte název skupiny prostředků k potvrzení odstranění, zadejte název skupiny prostředků a vyberte Odstranit. Vyberte znovu Odstranit pro potvrzení odstranění.

    Poznámka

    K vašim prostředkům Slurm můžou být přidružené další skupiny prostředků. Abyste se vyhnuli dodatečným poplatkům, ujistěte se, že odstraníte všechny tyto skupiny prostředků související se Slurm a jejich prostředky.

Blahopřejeme! Úspěšně jste dokončili třetí a poslední cvičení tohoto modulu. V tomto cvičení jste prozkoumali použití cloud-init v clusterech Azure CycleCloud a otestovali jste ho jednoduchým skriptem Bash, který upravil obsah místního souboru na každém uzlu. Výsledek jste ověřili připojením k uzlům clusteru a kontrolou obsahu upravených souborů. Poté jste cluster ukončili a odstranili všechny prostředky clusteru, které jste použili v tomto modulu, abyste se vyhnuli zbytečným nákladům.