Cloud-Init

A CycleCloud támogatja a cloud-initet , amely lehetővé teszi egy virtuális gép (VM) első rendszerindításkor történő konfigurálását , mielőtt bármilyen más CycleCloud-specifikus konfiguráció történne a virtuális gépen. A cloud-init használata hatékony módja a virtuális gép egyes konfigurációs elemeinek (például hálózatkezelés, yum/apt tükrök stb.) beállítására, mielőtt bármilyen, a CycleCloud (HPC-ütemezők) által kezelt szoftvert telepítenénk.

Az alábbi példa bemutatja, hogyan adhatja meg a rendszerindításkor futtatandó bash-szkriptet egy CloudInit fürtsablon attribútumával:

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

Megjegyzés

Többsoros sztringek, például bash vagy YAML-szkriptek megadásához használjon három idézőjellel ellátott sztringet a fürtsablonban.

Figyelmeztetés

Az Azure-ban nem minden operációs rendszer-kép támogatja a cloud-init funkciót. További információ arról, hogy mely rendszerképek támogatják a cloud-initet, és a szélesebb körű támogatás ütemtervét az Azure-beli virtuális gépek cloud-init támogatása című témakörben talál.

Cloud-init beállítása a felhasználói felületen

A CycleCloud felhasználói felülete támogatja a cloud-init szerkesztést. Amikor bármilyen fürtöt hoz létre vagy szerkeszt, a Cloud-Init lapon szerkesztheti a cloud-init szkriptet a fürt minden csomópontjához. A CycleCloud felhasználói felületén található szerkesztő bármilyen szöveges bemenetet elfogad. Szintaxiskiemelést biztosít a Pythonhoz, a shell szkriptekhez vagy a YAML-állományokhoz.

Cloud-init szerkesztése a CycleCloud felhasználói felületén

Cloud-init sorrend és hibakezelés

A megadott CycleCloud-csomópontok CloudInit esetében a CycleCloud kiépíti a virtuális gépet, és megvárja, amíg a cloud-init befejeződik, mielőtt bármilyen más konfigurációt elindít. Ha megadja a CloudInit paramétert a csomóponton, de a CycleCloud nem észleli az operációs rendszer cloud-init támogatását, a csomópont hibaállapotba kerül, és közvetíti az okot a CycleCloud felé. Ha a CloudInit szkript végrehajtása nem sikerül (például szkriptelési hiba vagy szintaxishiba miatt), a csomópont hibaállapotba kerül, és továbbítja a cloud-init által jelentett hibát a CycleCloudnak.

Miután a cloud-init hiba nélkül befejeződött, a CycleCloud továbbra is a szokásos módon konfigurálja a virtuális gépet.

Fontos

A CycleCloud nem egyesíti automatikusan a cloud-init szkripteket. Ha megad egy cloud-init szkriptet [node defaults]-ben, és van egy csomópontja, amely ezektől az alapértelmezett értékektől örököl, a [node defaults]-ben lévő cloud-init szkript felülírásra kerül. A kód megosztásához javasoljuk, hogy manuálisan egyesítsük a szkripteket. Alternatívaként használhat egy include fájl felhasználói adatformátumot az URL-ek listájának feldolgozásához a cloud-init számára.