Mallfil för CycleCloud-kluster
CycleCloud-kluster definieras i deklarativa och hierarkiska textfiler som kallas mallar. Ett antal exempel på CycleCloud-klustermallar är tillgängliga för nedladdning
Anteckning
CycleCloud-klustermallfilen är skiftlägesokänslig hela tiden.
Filhierarki för CycleCloud-klustermall
Klustermallfilen är ordnad i en hierarkisk struktur. Varje avsnitt definierar ett primärt objekt och objektets namn visas i avsnittsrubriken (t.ex. [cluster my-cluster]
). Antalet hakparenteser representerar rangordningen, med färre hakparenteser som anger högre rangordning. Överst i hierarkin och det enda objekt som krävs i klustermallfilen är [cluster]
objektet. Avsnittens specifika ordning är inte viktig.
[cluster]
[[node, nodearray]]
[[[volume]]]
[[[network-interface]]]
[[[cluster-init]]]
[[[input-endpoint]]]
[[[configuration]]]
[environment]
[noderef]
[parameters]
[[parameters]]
[[[parameter]]]
A [cluster]
kan innehålla en [[node]]
, som kan innehålla en [[[volume]]]
.
A [[[volume]]]
måste vara inom en [[node]]
, som måste ligga inom en [cluster]
.
Många objekt motsvarar Azure-resurser. Motsvarar till exempel [[node]]
den virtuella Azure-datorn, [[[volume]]]
motsvarar Azure Disk och [[[network-interface]]]
motsvarar nätverksgränssnittet.
Objektattribut
Varje objekt kan ha attribut som styr objektets beteende:
[[node my-node]]
Attribute1 = Value1
Attribute2 = Value2
Parametrar
Klusterparametrar är variabler som anges när klustret skapas. De kan användas i definitionen av alla attribut.
[cluster MyCluster]
Attribute0 = $MyParameter
[[parameter MyParameter]]
DefaultValue = 200
$
är ett specialtecken för att ange ett parametervärde efter namn.
Parametrar har egenskaper både för att definiera typen och för att styra hur de representeras i klustrets gränssnittsväljare. Parametrar definieras när klustret skapas så att de antingen kan anges via kommandoradsparameterflaggan -p parameter-file.json
eller med hjälp av klustrets användargränssnitt.
Särskild parsning
Mallparsern kan hantera viss logik och särskilda definitioner och processfunktioner för parametervärden:
Attribute1 = ${ifThenElse(AccessSubnet !== undefined, AccessSubnet, ComputeSubnet)}
Specialparsern aktiveras med syntaxen ${}
.
Mallobjekt
Det här är de mallobjekt som stöds för närvarande: