Node- und Nodearray-Objekte
Knoten- und Nodearray-Objekte sind Rang 2 und untergeordnet zu cluster
. Ein Knoten stellt einen einzelnen virtuellen Computer dar, während ein Knotenarray eine Auflistung virtueller Computer oder mindestens einen Skalierungssatz für virtuelle Computer darstellen kann.
Knotenstandardwerte
Die [[node defaults]]
ist ein spezieller abstrakter Knoten, der die Standardeinstellung für alle Knoten und Knotenarrays in einem Cluster angibt:
[cluster my-cluster]
[[node defaults]]
Credentials = $Credentials
SubnetId = my-rg/my-vnet/my-subnet
MachineType = Standard_D2s_v3
[[nodearray grid]]
ImageName = cycle.image.centos6
MachineType = Standard_H16
Die $Credentials
ist ein Verweis auf einen Parameter namens "Credentials".
In my-cluster
erbt das grid
nodearray- die Anmeldeinformationen und Subnetz-ID vom Knoten defaults
, verwendet jedoch eine bestimmte HPC-VM-Größe von Standard_H16
.
Beispiel
Diese Beispielvorlage erstellt einen Cluster mit zwei Knoten und einem Knotenarray. Der Proxyknoten verwendet die IsReturnProxy
, um die spezielle Rolle von ReturnProxy
zu definieren, die der Endpunkt für einen Reversekanalproxy ist, der von CycleCloud stammt, wenn der Cluster gestartet wird.
[cluster my-cluster]
[[node defaults]]
Credentials = $Credentials
SubnetId = $SubnetId
KeyPairLocation = ~/.ssh/cyclecloud.pem
ImageName = cycle.image.centos7
[[node proxy]]
IsReturnProxy = true
MachineType = Standard_B2
[[node scheduler]]
MachineType = Standard_D4s_v3
[[nodearray execute]]
MachineType = Standard_D16s_v3
Erforderliche Attributreferenz
Es gibt mindestens vier erforderliche Attribute, um einen Knoten erfolgreich zu starten:
Attribut | Art | Definition |
---|---|---|
MachineType | Schnur | Die Größe des virtuellen Azure-Computers |
Subnetz-ID | Schnur | Subnetzdefinition im Formular ${rg}/${vnet}/${subnet} |
Beglaubigungsschreiben | Schnur | Name des Cloudanbieterkontos. |
Das vierte erforderliche Attribut ist mit einem Bild verknüpft. Ein Bildattribute ist erforderlich, aber es gibt mehrere Formen, die es übernehmen kann – siehe Bildattribute.
Zusätzliche Attribute
Attribut | Art | Definition |
---|---|---|
ComputerName | Schnur | Computername für vm. Wenn angegeben, überschreibt der vom System generierte Name. |
ComputerNamePrefix | Schnur | Präfix vor dem Stift an vom System generierte Computernamen |
Zone | Zeichenfolge (Liste) | Verfügbarkeitszone für VM oder VMSS. Kann eine Liste für VMSS sein. Z. B. Zone = 1,3 |
KeyPairLocation | Ganze Zahl | Wo CycleCloud einen SSH-Keypair im lokalen Dateisystem findet |
KeepAlive | Boolesch | Bei "true" verhindert CycleCloud die Beendigung dieses Knotens. |
Spind | Schnur | Geben Sie den Namen des Schließfachs an, aus dem Projektspezifikationen heruntergeladen werden sollen. Siehe Verwenden von Projekten |
Attribut | Art | Definition |
---|---|---|
ComputerName | Schnur | Computername für vm. Wenn angegeben, überschreibt der vom System generierte Name. |
ComputerNamePrefix | Schnur | Präfix vor dem Stift an vom System generierte Computernamen |
EphemeralOSDisk | Boolesch | Verwenden Des kurzlebigen Startdatenträgers für virtuelle Computer, falls unterstützt |
Zone | Zeichenfolge (Liste) | Verfügbarkeitszone für VM oder VMSS. Kann eine Liste für VMSS sein. Z. B. Zone = 1,3 |
ProximityPlacementGroupId | Schnur | Die vollständige ID für die Näherungsplatzierungsgruppe, in die dieser Knoten gesetzt werden soll. Muss mit /subscriptions/ beginnen |
PlacementGroupId | Schnur | Bei Festlegung wird diese Bezeichnung verwendet, um diesen Knoten in einer einzelnen Platzierungsgruppe mit allen anderen Knoten zu platzieren, die einen übereinstimmenden Wert für PlacementGroupId aufweisen. Dies bietet eine geringere Latenzkommunikation und ist erforderlich, um InfiniBand auf VM-Größen zu aktivieren, die sie unterstützen. Dies wird in der Regel nach Bedarf vom Scheduler festgelegt, sodass er nicht manuell angegeben werden muss. |
KeyPairLocation | Ganze Zahl | Wo CycleCloud einen SSH-Keypair im lokalen Dateisystem findet |
KeepAlive | Boolesch | Bei "true" verhindert CycleCloud die Beendigung dieses Knotens. |
Spind | Schnur | Geben Sie den Namen des Schließfachs an, aus dem Projektspezifikationen heruntergeladen werden sollen. Siehe Verwenden von Projekten |
BootDiagnosticsUri | Schnur | Speicher-URI für die Startdiagnose (Beispiel: https://mystorageaccount.blob.core.windows.net/), falls angegeben. Es gelten Speichergebühren. |
HybridBenefit | Boolesch | Wenn wahr, aktiviert die Lizenzierung von "Azure-Hybridvorteil" für Windows-VMs |
EnableTerminateNotification (8.2.0+) | Boolesch | Wenn true, aktiviert Beenden von Benachrichtigungen das Senden von Ereignissen beim Löschen des virtuellen Computers an den virtuellen Computer für die lokale Verarbeitung. Dies gilt nur für scaleset-VMs. |
TerminateNotificationTimeout (8.2.2+) | Relative Zeit | Wenn die Beendigungsbenachrichtigung aktiviert ist, steuert dies, wie lange virtuelle Computer zum Behandeln des Ereignisses vor dem Löschen übergeben werden. |
ThrottleCapacity (8.2.2+) | Boolesch | Wenn "true" lautet, meldet dieses Nodearray 0 Kapazität für automatischeCaler für einen Standardwert von 5 Minuten, nachdem ein Kapazitätsproblem auftritt. |
ThrottleCapacityTime (8.2.2+) | Relative Zeit | Wenn ThrottleCapacity aktiviert ist, ist dies der Zeitraum, um die Verfügbarkeit von 0 zu melden, nachdem die Kapazität eingeschränkt wurde. Der Standardwert ist "5m". |
HybridBenefitLicense (8.3.0+) | Schnur | Wenn HybridBenefit wahr ist, gibt dies die zu verwendende Lizenz an: RHEL_BYOS , SLES_BYOS oder Windows_Server . Der Standardwert ist Windows_Server . |
FlexScaleSetId (8.3.0+) | Schnur | Wenn festgelegt, ist dies die vollqualifizierte ID eines Scalesets im flex-Orchestrierungsmodus, die für den virtuellen Computer für diesen Knoten verwendet wird. |
EncryptionAtHost (8.4.0+) | Boolesch | Wenn "true", hat der virtuelle Computer Verschlüsselung bei Host aktiviert. |
SecurityType (8.5.0+) | Schnur | Legt den Sicherheitstypfest; entweder nicht definiert, TrustedLaunch oder ConfidentialVM |
EnableSecureBoot (8.5.0+) | Boolesch | Aktiviert sicheren Start, wenn vertrauenswürdige Start-VMs oder vertrauliche VMs verwendet werden. |
EnableVTPM (8.5.0+) | Boolesch | Aktiviert Virtual Trusted Platform Module, wenn Vertrauenswürdige Start-VMs oder vertrauliche VMs verwendet werden. |
Anmerkung
Eine Näherungsplatzierungsgruppe ist ein allgemeines Azure-Feature, das erstellt werden muss, bevor auf einen Knoten verwiesen werden kann.
Auf diese Weise können CycleCloud-VMs mit anderen Azure-Ressourcen in dieser Näherungsplatzierungsgruppe verknüpft werden, aber keine InfiniBand-Netzwerke aktivieren.
Im Gegensatz dazu ist PlacementGroupId
eine beliebige Zeichenfolge in CycleCloud, die zum Gruppieren von VMs für Knoten in einer einzelnen Skalierungsgruppe verwendet wird, die auf denselben Netzwerkswitch beschränkt ist, aber möglicherweise nicht mit anderen Azure-Ressourcen zusammengeführt wird.
Sie können beide zusammen verwendet werden, aber dies kann die Anzahl der virtuellen Computer verringern, die zugeordnet werden können.
Bildattribute
Das VM-Image ist eine erforderliche Einstellung zum Starten eines virtuellen Computers. Es gibt drei gültige Formen der Bilddefinition: Standardmäßige CycleCloud-Bildnamen, Marketplace-Bilddefinitionen und Image-IDs.
ImageName
CycleCloud unterstützt eine Reihe von Marketplace-Standardimages, die für verschiedene Betriebssystemaromen verfügbar sind. Diese können mit einer ImageName
angegeben werden.
Attribut | Art | Definition |
---|---|---|
ImageName | Schnur | Name des zyklusgestützten Bilds. cycle.image. [win2016, win2012, centos7, centos6, ubuntu16, ubuntu14] |
Marketplace-Bilder
Zusammen mit cycle-managed Marketplace Images kann jedes Marketplace-Image verwendet werden, indem die Publisher
, Offer
, Sku
und ImageVersion
angegeben werden.
Attribut | Art | Definition |
---|---|---|
Azure.Publisher | Schnur | Herausgeber des VM Marketplace-Images |
Azure.Offer | Schnur | Angebot für VM Marketplace-Image |
Azure.Sku | Schnur | Sku des VM Marketplace-Images |
Azure.ImageVersion | Schnur | Bildversion des Marketplace-Images. |
Anmerkung
Ein Marketplace-Bild kann auch im attribut ImageName
angegeben werden, das als URN im Formular Publisher:Offer:Sku:ImageVersion
codiert ist.
Bilder mit benutzerdefiniertem Preisplan
Freigegebene Bildergaleriebilder, für die ein Preisplan angefügt ist, erfordern Informationen über den zu verwendenden Plan, es sei denn, diese Informationen werden im Bild "Freigegebene Bildergalerie" gespeichert. Das wird mit dem attribut ImagePlan
mit den geschachtelten Attributen Publisher, Product und Plan angegeben.
Anmerkung
Die Verwendung von benutzerdefinierten Bildern mit einem Preisplan erfordert CycleCloud 8.0.2 oder höher.
ImageId
Alternativ kann auch die Ressourcen-ID eines VM-Images im Abonnement der Anmeldeinformationen verwendet werden:
Attribut | Art | Definition |
---|---|---|
ImageId | Schnur | Ressourcen-ID des VM-Images |
Bildattribute
Marketplace-Image und -Images, die von ImageIds definiert werden, benötigen einige zusätzliche Einstellungen, um die CycleCloud-Betriebssystemerweiterung ordnungsgemäß zu konfigurieren:
Attribut | Art | Definition |
---|---|---|
DownloadJetpack | Boolesch | Wenn "false" lautet, lädt CycleCloud Jetpack nicht aus dem Speicherkonto herunter. Jetpack muss bereits installiert sein. Hinweis: Nur Linux-Knoten werden unterstützt. Standardwert ist "true". In 8.4.1 hinzugefügt. |
InstallJetpack | Boolesch | Wenn "false" lautet, installiert CycleCloud Jetpack nicht auf neuen VMs. Standardwert ist "true". |
AwaitInstallation | Boolesch | Wenn "false" lautet, wartet CycleCloud nicht, bis Jetpack Installationsdetails meldet, wenn der virtuelle Computer erstellt wird. Standardwert ist "true". |
JetpackPlatform | Schnur | Jetpack Installer-Plattform zu verwenden: centos-7 , centos-6 , ubuntu-14.04 , ubuntu-16.04 , windows . Veraltet in 7.7.0. |
Warnung
Das Festlegen von InstallJetpack
oder AwaitInstallation
wird nicht empfohlen. Darüber hinaus erfordert die Einstellung DownloadJetpack
ein benutzerdefiniertes Image mit der richtigen Version der Jetpack-Installation und wird nur für Umgebungen empfohlen, die Probleme beim Herunterladen von Speicherkonten haben.
Anmerkung
ImageId
wird standardmäßig verwendet, wenn mehrere Bilddefinitionen in einer einzelnen Knotendefinition enthalten sind.
Alternatives Bildbeispiel
Hier ist eine Beispielvorlage mit den drei alternativen Bildkonstrukten für die Knoten:
[cluster image-example]
[[node defaults]]
Credentials = $Credentials
MachineType = Standard_D2_v3
SubnetId = my-rg/my-vnet/my-subnet
[[node cycle-image]]
ImageName = cycle.image.ubuntu16
[[node my-custom-vm-image]]
ImageId = /subscriptions/9B16BFF1-879F-4DB3-A55E-8F8AC1E6D461/resourceGroups/my-rg/providers/Microsoft.Compute/images/jetpack-rhel7-1b1e3e93
# Jetpack already installed on image
DownloadJetpack = false
[[node marketplace-vm-image]]
Azure.Publisher = Canonical
Azure.Offer = UbuntuServer
Azure.Sku = 16.04-LTS
Azure.ImageVersion = latest
[[node custom-marketplace-vm-image]]
ImageName = /subscriptions/9B16BFF1-879F-4DB3-A55E-8F8AC1E6D461/resourceGroups/my-rg/providers/Microsoft.Compute/images/jetpack-rhel8-1b1e3e93
ImagePlan.Name = rhel-lvm8
ImagePlan.Publisher = redhat
ImagePlan.Product = rhel-byos
Erweiterte Netzwerkattribute
Attribut | Art | Definition |
---|---|---|
IsReturnProxy | Boolesch | Richten Sie den Reversekanalproxy für diesen Knoten ein. Nur ein Knoten pro Cluster kann diese Einstellung als "true" aufweisen. |
ReturnPath.Hostname | Hostname | Hostname, auf dem der Knoten CycleCloud erreichen kann. |
ReturnPath.WebserverPort | Ganze Zahl | Webserverport, an dem Der Knoten CycleCloud erreichen kann. |
ReturnPath.BrokerPort | Ganze Zahl | Broker, bei dem der Knoten CycleCloud erreichen kann. |
Schilder
CycleCloud unterstützt das Kategorisieren von VMs und VMSS.
Attribut | Schnur | Definition |
---|---|---|
Schilder | Schnur | Verwenden Sie tags.my-tag = my-tag-value , um der Bereitstellung zusätzlich zu den tags, die von CycleCloud standardmäßig zugewiesen wurden, Tags hinzuzufügen. |
Reguläre/Spotattribute
CycleCloud unterstützt die Verwendung von Spot-VMs über die folgenden Attribute. Weitere Informationen finden Sie unter virtuellen Computer.
Attribut | Schnur | Definition |
---|---|---|
Unterbrechbar | Boolesch | Wenn true, ist die VM eine Spot-VM, um reduzierte Preise bereitzustellen. |
MaxPrice | Schweben | Der maximale Preis, der für die VM ausgegeben werden soll. (Standard: -1) |
attribute Nodearray-Specific
Alle Attribute für einen Knoten sind für ein Knotenarray gültig, aber ein Knotenarray ist eine elastische Ressource, sodass zusätzliche Attribute verfügbar sind. Nodearray ist ein Treiber für Azure VirtualMachine ScaleSets (VMSS) und kann viele sicherungsnde VMSS haben.
Attribut | Schnur | Definition |
---|---|---|
Azure.AllocationMethod | Schnur | Legen Sie dies auf StandAlone fest, um einzelne virtuelle Computer zu verwalten oder nicht definiert zu lassen, um VMSS zu verwenden. |
Azure.SingleScaleset | Boolesch | Verwenden Sie einen einzelnen VMSS für alle Knoten (Standard: false). |
Azure.SinglePlacementGroup | Boolesch | Verwenden Sie die Einstellung für einzelne Platzierungsgruppen für vmSS. (Standard: false) |
Azure.Overprovision | Boolesch | Verwenden Sie das Feature "Overprovision" von VMSS. Cyclecloud wird je nach Szenario dynamisch festgelegt. Dies ist eine Außerkraftsetzung. |
Azure.MaxScaleSetSize | Ganze Zahl | Beschränken Sie die Anzahl der virtuellen Computer in einem einzelnen VMSS. Sobald dieses Maximum erreicht ist, fügt CycleCloud zusätzliche VMSS zum Cluster hinzu. (Standard: '40') |
InitialCount | Ganze Zahl | Anzahl der Knoten, die beim Starten des Clusters gestartet werden sollen. |
MaxCount | Ganze Zahl | Um sicherzustellen, dass der Cluster niemals 10 Knoten überschreitet, geben Sie einen Wert von 10 an. Beachten Sie, dass MaxCount und MaxCoreCount zusammen verwendet werden können, in diesem Fall wird die niedrigere effektive Einschränkung wirksam. |
InitialCoreCount | Ganze Zahl | Anzahl der Kerne, die beim Starten des Clusters gestartet werden sollen. |
MaxCoreCount | Ganze Zahl | Um sicherzustellen, dass der Cluster niemals 100 Kerne überschreitet, geben Sie einen Wert von 100 an. Beachten Sie, dass MaxCount und MaxCoreCount zusammen verwendet werden können, in diesem Fall wird die niedrigere effektive Einschränkung wirksam. |
ShutdownPolicy | Schnur | Gibt an, was mit dem virtuellen Computer zu tun ist, wenn ein Knoten heruntergefahren wird. Wenn der virtuelle Computer beim Herunterfahren des Knotens "beendet" wird, wird der virtuelle Computer gelöscht. Wenn "deallocate", wird der Knoten stattdessen beendet. (Standard: beenden) |
Attribut | Schnur | Definition |
---|---|---|
Azure.AllocationMethod | Schnur | Legen Sie dies auf StandAlone fest, um einzelne virtuelle Computer zu verwalten oder nicht definiert zu lassen, um VMSS zu verwenden. |
Azure.SingleScaleset | Boolesch | Verwenden Sie einen einzelnen VMSS für alle Knoten (Standard: false). |
Azure.SinglePlacementGroup | Boolesch | Verwenden Sie die Einstellung für einzelne Platzierungsgruppen für vmSS. (Standard: false) |
Azure.Overprovision | Boolesch | Verwenden Sie das Feature "Overprovision" von VMSS. Cyclecloud wird je nach Szenario dynamisch festgelegt. Dies ist eine Außerkraftsetzung. |
Azure.MaxScaleSetSize | Ganze Zahl | Beschränken Sie die Anzahl der virtuellen Computer in einem einzelnen VMSS. Sobald dieses Maximum erreicht ist, fügt CycleCloud zusätzliche VMSS zum Cluster hinzu. (Standard: '40') |
InitialCount | Ganze Zahl | Anzahl der Knoten, die beim Starten des Clusters gestartet werden sollen. |
MaxCount | Ganze Zahl | Um sicherzustellen, dass der Cluster niemals 10 Knoten überschreitet, geben Sie einen Wert von 10 an. Beachten Sie, dass MaxCount und MaxCoreCount zusammen verwendet werden können, in diesem Fall wird die niedrigere effektive Einschränkung wirksam. |
InitialCoreCount | Ganze Zahl | Anzahl der Kerne, die beim Starten des Clusters gestartet werden sollen. |
MaxCoreCount | Ganze Zahl | Um sicherzustellen, dass der Cluster niemals 100 Kerne überschreitet, geben Sie einen Wert von 100 an. Beachten Sie, dass MaxCount und MaxCoreCount zusammen verwendet werden können, in diesem Fall wird die niedrigere effektive Einschränkung wirksam. |
ShutdownPolicy | Schnur | Gibt an, was mit dem virtuellen Computer zu tun ist, wenn ein Knoten heruntergefahren wird. Wenn der virtuelle Computer beim Herunterfahren des Knotens "beendet" wird, wird der virtuelle Computer gelöscht. Wenn "deallocate", wird der Knoten stattdessen beendet. (Standard: beenden) |
ThrottleCapacity | Boolesch | Gibt an, ob Anforderungen an Azure angehalten werden sollen, wenn Insufficient Capacity Signal empfangen wird. (Standard: false) |
ThrottleCapacityTime | Relative Zeit | Backoffzeit nach erhalt Insufficient Capacity Signal von Azure.
AvailableCount wird während dieses Zeitraums als Null gemeldet. (Standard: '5m') |
Anmerkung
Allen VMSS wird FaultDomainCount = 1
zugewiesen.
Erbschaft
Knoten und Knotenarrays, die eng miteinander verknüpft sind, können von anderen Knoten in derselben Clustervorlage abgeleitet werden.
Diese geerbten Definitionen minimieren die Deklarationen, die für gemeinsame Attribute erforderlich sind. Häufig verwendet wird der abschnitt [[node defaults]]
, bei dem es sich um eine spezielle abstrakte Definition handelt, die für alle Knoten und Knotenarrays im Cluster gilt.
Attribut | Schnur | Definition |
---|---|---|
Abstrakt | Boolesch | Wenn true, erstellen Sie keinen Knoten oder Knotenarray im Cluster. Der Abstract kann für die Vererbung verwendet werden. (Standard: false) |
Erweitert | Zeichenfolge (Liste) | Sortierte Liste der geerbten Knoten-/Knotenarraynamen. Elemente, die sich später in der Liste befinden, haben Vorrang, wenn Werte in Konflikt geraten. Der Knoten "Standardwerte" wird immer zuerst in der Liste angezeigt. (Standard: []) |
Untergeordnete Objekte
Die Knoten-/Knotenarray-Objekte verfügen über Volume-, Netzwerkschnittstelle, clusterinit, Eingabeendpunkt-und Konfiguration als untergeordnete Objekte.