Dela via


Cloud-Init

CycleCloud stöder cloud-init som ett sätt att konfigurera en virtuell dator (VM) vid första starten innan någon annan CycleCloud-specifik konfiguration sker på den virtuella datorn. Att använda cloud-init är ett effektivt sätt att konfigurera aspekter av en virtuell dator (till exempel nätverk, yum/apt-speglar osv.) innan programvara som hanteras av CycleCloud (HPC-schemaläggare) installeras.

Nedan visas ett enkelt exempel på hur du anger ett bash-skript som ska köras vid start med hjälp av CloudInit attributet i en klustermall:

[node scheduler]
CloudInit = '''#!/bin/bash
echo "cloud-init works" > /tmp/cloud-init.txt
'''

Anteckning

Trippelciterade strängar kan användas i en klustermall för att ange en flerradssträng, till exempel ett bash- eller YAML-skript.

Varning

Inte alla OS-avbildningar i Azure Support cloud-init. Mer information om vilka avbildningar som stöder cloud-init och tidslinjen för när bredare support kommer att vara tillgängligt finns i cloud-init-supporten för virtuella datorer i Azure .

Ange Cloud-Init med hjälp av användargränssnittet

CycleCloud-användargränssnittet har stöd för cloud-init-redigering. När du skapar eller redigerar ett kluster kan du med en ny flik med namnet "Cloud-Init" redigera cloud-init-skriptet för varje nod i klustret. Redigeringsprogrammet i CycleCloud-användargränssnittet tillåter alla textinmatningar. Syntaxmarkering är aktiverat för Python, Shell-skript eller YAML.

Redigera cloud-init i CycleCloud-användargränssnittet

Cloud-Init order- och felhantering

För CycleCloud-noder med CloudInit angivet etablerar CycleCloud den virtuella datorn och väntar tills cloud-init har körts innan någon annan konfiguration äger rum. Om CloudInit anges på noden och CycleCloud inte identifierar cloud-init-stöd för operativsystemet hamnar noden i ett feltillstånd och orsaken vidarebefordras till CycleCloud. Om skriptet CloudInit inte kan köras (t.ex. på grund av ett skriptfel eller syntaxfel) hamnar noden i ett feltillstånd och felet som rapporteras av cloud-init vidarebefordras till CycleCloud.

När cloud-init har körts utan fel fortsätter CycleCloud att konfigurera den virtuella datorn som vanligt.

Viktigt

CycleCloud sammanfogar inte cloud-init-skript automatiskt. Om en [node defaults] anger en cloud-init samt en nod som ärver från standardvärden skrivs cloud-init-skriptet i [node defaults] över. Sammanslagning av skript föreslås manuellt när kod behöver delas. Du kan också använda ett format för inkluderingsfilanvändardata för att inkludera en lista över URL:er som ska bearbetas av cloud-init.