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'].id
são env.resources[MyResourceParam]
todos formatos válidos para referências a variáveis aninhadas.