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