Partilhar via


Meio Ambiente

O ambiente está na posição 1. Um ambiente corresponde a uma implementação do Resource Manager.

O CycleCloud agora pode gerenciar implantações do Azure Resource Manager com modelos ARM. Você pode fazer referência a esses ambientes a partir de objetos de modelo do CycleCloud.

Se o ambiente estiver no nível 1, um objeto de cluster é necessário no ficheiro de 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]

O $ é uma referência a um nome de parâmetro. O ${} é outra maneira de referenciar um nome de parâmetro e permite referência a um ambiente.

Este exemplo inicia o modelo ARM existente em az://mystorageaccount/mycontainer/${ProjectVersion}/vnet.json como uma implantação ARM e fornece Resource e Outputs como dados aninhados dentro da vnet variável.

Referência de atributo

Atributo Tipo Definição
Credenciais Cordão Nome da conta do fornecedor de serviços de computação em nuvem
Região Cordão Localização do Azure, como [westus2]
ModeloURL Cordão URL válido para a localização do modelo ARM na Web. Use apenas um atributo Template*.
Conteúdos do Modelo Cordão Modelo JSON lido como uma cadeia de caracteres com a referência @parametername. Use apenas um atributo Template*.
TemplatePath Cordão Para uso com Locker. Acrescenta o caminho para o cofre para a localização do modelo ARM. Use apenas um atributo Template*.
Cacifo Cordão Para uso com TemplatePath. Suporta extrair modelo ARM do cofre.
ParameterValues. Parâmetro ARM ParameterValues.my-parameter onde my-parameter é um parâmetro. Parâmetros em modelos ARM suportam string, lista, inteiros, booleano.
Substituições de Variáveis Variável ARM VariableOverrides.my-variable onde my-variable é um nome de variável no modelo ARM. As variáveis nos modelos ARM suportam string, list, inteiros, booleano.
ParameterizeVariables booleano Utilizar com VariableValues. Exponha variáveis de modelo ARM no menu da interface do usuário do cluster e no modelo de cluster.
VariableValues Variável ARM Utilize VariableValues.my-variable. Alternativa ao VariableOverrides. Utilizar com ParameterizeVariables.
Azure.ResourceGroup Cordão Nome do Grupo de Recursos do Azure para implantação.
ManagedLifecycle booleano Utilize na implantação existente. A predefinição é verdadeira.
Name Cordão Nome do grupo de recursos pré-existente.
Tags Cordão Use tags.my-tag = my-tag-value para adicionar tags ao grupo de recursos que possui a implantação, além das tags atribuídas pelo CycleCloud por padrão.

Para implementações já existentes, o nome do objeto de ambiente corresponde ao nome da implementação ARM.

Usando recursos e resultados do ambiente

[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 implantação ARM, os ambientes criam recursos e expõem esses recursos aos outros objetos de Modelo de Cluster para uso.

Usando a ${} notação, você pode fazer referência aos recursos ARM criados em seu esquema nativo.

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

Referindo-se a recursos aninhados

O CycleCloud representa ambientes computacionais com uma estrutura de dados aninhada. Muitas vezes, você precisa fazer referência a dados dentro dessa 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 do tipo de recurso ARM que você está criando. Os seguintes formatos são válidos para referências a variáveis aninhadas: env.resources.my-resource-name.id, env.resources['my-resource-name'].ide env.resources[MyResourceParam].