CycleCloud-clustersjabloonbestand

CycleCloud-clusters worden gedefinieerd in declaratieve en hiërarchische tekstbestanden, sjablonen genoemd. Er zijn een aantal voorbeelden van CycleCloud-clustersjablonen beschikbaar om te downloaden

Notitie

Het CycleCloud-clustersjabloonbestand is hoofdlettergevoelig.

CycleCloud-clustersjabloonbestandshiërarchie

Het clustersjabloonbestand is ingedeeld in een hiërarchische structuur. Elke sectie definieert een primair object en de naam van het object wordt weergegeven in de sectiekop (bijvoorbeeld [cluster my-cluster]). Het aantal vierkante haken vertegenwoordigt de rang, met minder vierkante haken die een hogere rang aangeven. De bovenkant van de hiërarchie en het enige vereiste object in het clustersjabloonbestand is het [cluster] object. De specifieke volgorde van de secties is niet belangrijk.

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

Een [cluster] kan een [[node]], die een [[[volume]]].

Een [[[volume]]] moet zich binnen een [[node]], die zich binnen een [cluster].

Veel objecten komen overeen met Azure-resources. Komt bijvoorbeeld [[node]] overeen met Azure VM, [[[volume]]] komt overeen met Azure Disk en [[[network-interface]]] komt overeen met de netwerkinterface.

Objectkenmerken

Elk object kan kenmerken hebben die het gedrag van het object bepalen:

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

Parameters

Clusterparameters zijn variabelen die zijn ingesteld tijdens het maken van het cluster. Ze kunnen worden gebruikt in de definitie van elk kenmerk.

[cluster MyCluster]
  Attribute0 = $MyParameter

  [[parameter MyParameter]]
  DefaultValue = 200

Het $ is een speciaal teken om een parameterwaarde op naam aan te geven.

Parameters hebben eigenschappen om zowel het type te definiëren als om te bepalen hoe ze worden weergegeven in de selectors voor de gebruikersinterface van het cluster. Parameters worden gedefinieerd op het moment dat het cluster wordt gemaakt, zodat ze kunnen worden ingesteld via de opdrachtregelparametervlag -p parameter-file.jsonof met behulp van de clustergebruikersinterface.

Speciale parsering

De sjabloonparser kan bepaalde logica en speciale definities en procesfuncties van parameterwaarden verwerken:

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

De speciale parser wordt geactiveerd met de ${} syntaxis.

Sjabloonobjecten

Dit zijn de momenteel ondersteunde sjabloonobjecten: