Plik szablonu klastra CycleCloud

Klastry CycleCloud są definiowane w deklaratywnych i hierarchicznych plikach tekstowych nazywanych szablonami. Do pobrania jest dostępnych kilka przykładowych szablonów klastrów CycleCloud

Uwaga

Plik szablonu klastra CycleCloud jest niewrażliwy na wielkość liter.

Hierarchia plików szablonu klastra CycleCloud

Plik szablonu klastra jest zorganizowany w strukturę hierarchiczną. Każda sekcja definiuje obiekt podstawowy, a nazwa obiektu jest wyświetlana w nagłówku sekcji (np. [cluster my-cluster]). Liczba nawiasów kwadratowych reprezentuje rangę z mniejszą liczbą nawiasów wskazujących wyższą rangę. W górnej części hierarchii i jedynym wymaganym obiektem w pliku szablonu klastra jest [cluster] obiekt. Konkretna kolejność sekcji nie jest ważna.

[cluster]
  [[node, nodearray]]
    [[[volume]]]
    [[[network-interface]]]
    [[[cluster-init]]]
    [[[input-endpoint]]]
    [[[configuration]]]
[environment]
[noderef]
[parameters]
  [[parameters]]
    [[[parameter]]]

Element [cluster] może zawierać element [[node]], który może zawierać element [[[volume]]].

Element [[[volume]]] musi znajdować się w obiekcie [[node]], który musi znajdować się w obiekcie [cluster].

Wiele obiektów odpowiada zasobom platformy Azure. Na przykład [[node]] odpowiada maszynie wirtualnej platformy Azure, [[[volume]]] odpowiada dyskowi platformy Azure i [[[network-interface]]] odpowiada interfejsowi sieciowemu.

Atrybuty obiektu

Każdy obiekt może mieć atrybuty, które zarządzają zachowaniem obiektu:

[[node my-node]]
Attribute1 = Value1
Attribute2 = Value2

Parametry

Parametry klastra to zmienne ustawione w czasie tworzenia klastra. Mogą być używane w definicji dowolnego atrybutu.

[cluster MyCluster]
  Attribute0 = $MyParameter

  [[parameter MyParameter]]
  DefaultValue = 200

Jest $ to znak specjalny, który określa wartość parametru według nazwy.

Parametry mają właściwości definiujące typ i kontrolujące sposób ich reprezentowania w selektorach interfejsu użytkownika klastra. Parametry są definiowane w momencie tworzenia klastra, aby można było je ustawić za pomocą flagi -p parameter-file.jsonparametru wiersza polecenia lub przy użyciu interfejsu użytkownika klastra.

Analizowanie specjalne

Analizator szablonów może obsługiwać określoną logikę i specjalne definicje oraz funkcje przetwarzania wartości parametrów:

Attribute1 = ${ifThenElse(AccessSubnet !== undefined, AccessSubnet, ComputeSubnet)}

Specjalny analizator jest aktywowany za pomocą ${} składni.

Obiekty szablonu

Są to obecnie obsługiwane obiekty szablonu: