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