Arquivo de modelo de cluster de ciclocloud
Os clusters CycleCloud são definidos em ficheiros de texto declarativos e hierárquicos chamados modelos. Vários modelos de cluster CycleCloud estão disponíveis para download
Nota
O ficheiro de modelo de cluster CycleCloud é um caso insensível em toda a parte.
Hierarquia do arquivo do modelo de cluster de ciclocloud
O ficheiro de modelo de cluster é organizado numa estrutura hierárquica. Cada secção define um objeto primário e o nome do objeto aparece no cabeçalho da secção (por exemplo). [cluster my-cluster]
O número de parênteses quadrados representa a classificação, com menos parênteses indicando uma posição mais elevada. O topo da hierarquia, e o único objeto necessário no ficheiro de modelo de cluster é o [cluster]
objeto. A ordem específica das secções não é importante.
[cluster]
[[node, nodearray]]
[[[volume]]]
[[[network-interface]]]
[[[cluster-init]]]
[[[input-endpoint]]]
[[[configuration]]]
[environment]
[noderef]
[parameters]
[[parameters]]
[[[parameter]]]
A [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 de Azure. Por exemplo, [[node]]
corresponde ao Azure VM, [[[volume]]]
corresponde ao Disco 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
Os parâmetros de cluster são variáveis definidas no tempo de criação do cluster. Podem ser usados na definição de qualquer atributo.
[cluster MyCluster]
Attribute0 = $MyParameter
[[parameter MyParameter]]
DefaultValue = 200
É $
um personagem especial para denotar um valor de parâmetro pelo nome.
Os parâmetros têm propriedades tanto para definir o tipo como para controlar a forma como são representados nos seletores de UI do cluster. Os parâmetros são definidos no momento da criação do cluster para que possam ser definidos através da bandeira -p parameter-file.json
do parâmetro da linha de comando, ou usando o uI do cluster.
Análise Especial
O analisador de modelos é capaz de lidar com determinadas definições lógicas e especiais e funções de processo dos valores dos parâmetros:
Attribute1 = ${ifThenElse(AccessSubnet !== undefined, AccessSubnet, ComputeSubnet)}
O analisador especial é ativado com a ${}
sintaxe.
Objetos de modelo
Estes são os objetos de modelo atualmente suportados: