Arquivo de modelo de cluster do CycleCloud

Os clusters CycleCloud são definidos em arquivos de texto declarativos e hierárquicos chamados modelos. Vários modelos de cluster cyclecloud de exemplo estão disponíveis para download

Observação

O arquivo de modelo de cluster CycleCloud não diferencia maiúsculas de minúsculas.

Hierarquia de arquivos de modelo de cluster do CycleCloud

O arquivo de modelo de cluster é organizado em uma estrutura hierárquica. Cada seção define um objeto primário e o nome do objeto aparece no cabeçalho da seção (por exemplo). [cluster my-cluster] O número de colchetes representa a classificação, com menos colchetes indicando classificação mais alta. A parte superior da hierarquia e o único objeto necessário no arquivo modelo de cluster é o [cluster] objeto. A ordem específica das seções não é importante.

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

Um [cluster] pode conter um [[node]], que pode conter um [[[volume]]].

A [[[volume]]] deve estar dentro de um [[node]], que deve estar dentro de um [cluster].

Muitos objetos correspondem aos recursos do Azure. Por exemplo, [[node]] corresponde à VM do Azure, [[[volume]]] corresponde ao Disco do Azure e [[[network-interface]]] corresponde à Interface de Rede.

Atributos de objeto

Cada objeto pode possuir atributos que regem o comportamento do objeto:

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

Parâmetros

Parâmetros de cluster são variáveis definidas no momento da criação do cluster. Eles podem ser usados na definição de qualquer atributo.

[cluster MyCluster]
  Attribute0 = $MyParameter

  [[parameter MyParameter]]
  DefaultValue = 200

O $ caractere é especial para indicar um valor de parâmetro por nome.

Os parâmetros têm propriedades para definir o tipo e controlar como eles são representados nos seletores de interface do usuário do cluster. Os parâmetros são definidos no momento da criação do cluster para que possam ser definidos por meio do sinalizador -p parameter-file.jsonde parâmetro de linha de comando ou usando a interface do usuário do cluster.

Análise especial

O analisador de modelo é capaz de lidar com determinadas definições lógicas e especiais e funções de processo de valores de parâmetro:

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

O analisador especial é ativado com a ${} sintaxe.

Objetos template

Estes são os objetos de modelo com suporte no momento: