Partilhar via


Ambiente

O ambiente é o 1º lugar. Um ambiente corresponde a uma Resource Manager implantação.

CycleCloud pode agora gerir implementações de Resource Manager Azure com modelos ARM. Estes ambientes podem ser referidos a partir de objetos de modelo CycleCloud.

Enquanto o ambiente é a categoria 1, um objeto de cluster é necessário no ficheiro do modelo de cluster.

Exemplo

[environment vnet]
  ManagedLifecycle=true
  TemplateURL = az://mystorageaccount/mycontainer/${ProjectVersion}/vnet.json
  ParameterValues.backendIpAddress1 = 10.0.1.4
  VariableOverrides.virtualNetworkName = azure-vnet

[environment appgateway]
  TemplateURL = https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-application-gateway-waf/azuredeploy.json
  ParameterValues.virtualNetworkName = ${vnet.Parameters.virtualNetworkName}

[environment existing]
  Azure.ResourceGroup = existingrg
  ManagedLifecycle = false

[cluster my-cluster]

É $ uma referência a um nome de parâmetro. É ${} outra forma de fazer referência a um nome de parâmetro e permite a referência a um ambiente.

Estes exemplos lançarão o modelo ARM existente em az://mystorageaccount/mycontainer/${ProjectVersion}/vnet.json como uma implementação ARM, e forneceu o Recurso e saídas como dados aninhados dentro da vnet variável.

Referência de atributo

Atributo Tipo Definição
Credenciais String Nome da conta do fornecedor de nuvem
Região String Localização azul, por exemplo. westus2
ModeloURL String URL válido para a localização do modelo ARM na web. Use apenas um atributo Modelo*.
ModeloContents String Leia no modelo json como uma corda com @parametername referência. Use apenas um atributo Modelo*.
ModeloPa String Para uso com Locker. Apê-lo caminho para o armário para a localização do modelo do braço. Use apenas um atributo Modelo*.
Armário String Para uso com TemplatePath. Suporta puxar o modelo do braço do armário.
Parâmetros Valores. Parâmetro ARM ParameterValues.my-parâmetro onde o meu parâmetro é um parâmetro. Parâmetros em modelos ARM suportam corda, lista, inteiros, boolean.
VariáveisOverrides. Variável ARM VariableOverrides.my variável onde a minha variável é um nome variável no modelo ARM. Variáveis em modelos ARM suportam corda, lista, inteiros, boolean.
ParametizeVariáveis Booleano Utilizar com Variáveis Valores. Exponha as variáveis do modelo ARM no menu de UI do cluster e no modelo de cluster.
Variável Valores. Variável ARM VariableValues.my variável. Alternativa a VariáveisOverrides. Utilizar com ParâmetrosVariáveis.
Azure.ResourceGroup String Nome do Grupo de Recursos Azure para implantação.
Ciclo gerido do Lifecycle Booleano Para utilização com a implantação existente. A predefinição é verdadeiro.
Name String Nome do grupo de recursos pré-saída.
Etiquetas. String Utilize tags.my-tag = my-tag-value para adicionar tags ao grupo de recursos que possui a implementação, para além das tags atribuídas por padrão por CycleCloud.

Para as colocações pré-existentes, o nome do objeto ambiente refere-se ao nome de implantação ARM.

Utilização de recursos e saídas ambientais

[environment vnet]
  ManagedLifecycle=true
  TemplateURL = az://mystorageaccount/mycontainer/${ProjectVersion}/vnet.json

[cluster my-cluster]
    [[node proxy]]
        IsReturnProxy = True
        SubnetId = ${vnet.resources.'azure-vnet/ProxySubnet'.id}

Seguindo o modelo de implementação ARM, os ambientes criarão recursos e exporão esses recursos aos outros objetos do Modelo de Cluster para utilização.

Utilizando a ${} notação, pode então consultar os recursos DA ARM criados no seu esquema nativo.

Atributo Definição
As saídas. Use como ${environment-name.Outputs.my-output} no modelo onde a minha saída é o nome de uma saída no modelo ARM.
Recursos. Use como ${environment-name.Resources.my-resource-name.key1.key2} no modelo onde o meu nome de recurso é o nome de um recurso no modelo ARM e key1, key2 são teclas relacionadas no objeto de recurso.

Referindo-se aos Recursos Aninhados

Os ambientes geridos pelo CycleCloud são representados por uma estrutura de dados aninhada. É frequentemente útil fazer referência a dados dentro desta estrutura.

[environment db]
TemplateContents = @raw-db-json
ParameterValues.DBName = @DBNameParameter

[cluster my-cluster]
  [[node my-node]]

     SubnetId = ${network.resources.'vnet/ComputeSubnet'.id}

     [[[configuration database]]]
        connection_string = ${db.Outputs.JDBCConnectionString}
        database_id = ${db.resources[ClusterName].id}

Os índices de variáveis aninhadas podem depender da criação do tipo de recurso ARM. env.resources.my-resource-name.id, env.resources['my-resource-name'].idsão env.resources[MyResourceParam] todos formatos válidos para referências a variáveis aninhadas.