Cloud-Init
CycleCloud ondersteunt cloud-init als een manier om een virtuele machine (VM) te configureren bij de eerste opstart voordat een andere CycleCloud-specifieke configuratie op de VM plaatsvindt. Het gebruik van cloud-init is een effectieve manier om aspecten van een VM (zoals netwerken, yum/apt-mirrors, enzovoort) te configureren voordat software die wordt beheerd door CycleCloud (HPC-planners) wordt geïnstalleerd.
Hieronder ziet u een eenvoudig voorbeeld van het opgeven van een bash-script dat moet worden uitgevoerd bij het opstarten met behulp van het CloudInit
kenmerk in een clustersjabloon:
[node scheduler]
CloudInit = '''#!/bin/bash
echo "cloud-init works" > /tmp/cloud-init.txt
'''
Notitie
Tekenreeksen met drie aanhalingstekens kunnen in een clustersjabloon worden gebruikt om een tekenreeks met meerdere regels op te geven, zoals een bash- of YAML-script.
Waarschuwing
Niet alle installatiekopieën van het besturingssysteem in ondersteuning voor Azure cloud-init. Raadpleeg cloud-init-ondersteuning voor virtuele machines in Azure voor meer informatie over welke installatiekopieën cloud-init ondersteunen en de tijdlijn voor wanneer bredere ondersteuning beschikbaar is.
Cloud-Init instellen met behulp van de gebruikersinterface
De CycleCloud-gebruikersinterface biedt ondersteuning voor cloud-init-bewerkingen. Wanneer u een cluster maakt of bewerkt, kunt u met een nieuw tabblad met de naam Cloud-Init het cloud-init-script voor elk knooppunt in uw cluster bewerken. De editor in de CycleCloud-gebruikersinterface staat tekstinvoer toe. Syntaxismarkering is ingeschakeld voor Python, Shell-scripts of YAML.
Cloud-Init ordenen en foutafhandeling
Voor CycleCloud-knooppunten die zijn CloudInit
opgegeven, richt CycleCloud de VM in en wacht totdat cloud-init is uitgevoerd voordat er een andere configuratie plaatsvindt. Als CloudInit
is opgegeven op het knooppunt en CycleCloud geen cloud-init-ondersteuning voor het besturingssysteem detecteert, krijgt het knooppunt een foutstatus en wordt de reden doorgegeven aan CycleCloud. Als het CloudInit
script niet kan worden uitgevoerd (bijvoorbeeld vanwege een scriptfout of syntaxisfout), krijgt het knooppunt een foutstatus en wordt de fout die is gerapporteerd door cloud-init doorgestuurd naar CycleCloud.
Zodra cloud-init zonder fouten is voltooid, blijft CycleCloud de VM configureren zoals u gewend bent.
Belangrijk
CycleCloud voegt cloud-init-scripts niet automatisch samen. Als een [node defaults]
een cloud-init en een knooppunt opgeeft dat wordt overgenomen van standaardinstellingen, wordt het cloud-init-script in [node defaults]
overschreven. Het handmatig samenvoegen van scripts wordt aanbevolen wanneer code moet worden gedeeld. U kunt ook een indeling voor gebruikersgegevens van het insluitingsbestand gebruiken om een lijst met URL's op te nemen die door cloud-init moeten worden verwerkt.