Entorno
El entorno es el rango 1. Un entorno corresponde a una implementación de Resource Manager.
CycleCloud ahora puede administrar implementaciones de Azure Resource Manager con plantillas de ARM. Estos entornos se pueden hacer referencia desde dentro de los objetos de plantilla cycleCloud.
Aunque el entorno es el rango 1, se requiere un objeto de clúster en el archivo de plantilla de clúster.
Ejemplo
[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]
$
es una referencia a un nombre de parámetro.
${}
Es otra forma de hacer referencia a un nombre de parámetro y permite hacer referencia a un entorno.
En este ejemplo se iniciará la plantilla de ARM existente en az://mystorageaccount/mycontainer/${ProjectVersion}/vnet.json como implementación de ARM y se proporcionarán losrecursos y salidas como datos anidados dentro de la vnet
variable.
Referencia de atributo
Atributo | Tipo | Definición |
---|---|---|
Credenciales | String | Nombre de la cuenta del proveedor de nube |
Region | String | Ubicación de Azure, por ejemplo, westus2 |
TemplateURL | String | Dirección URL válida para la ubicación de la plantilla de ARM en la web. Use solo un atributo Template*. |
TemplateContents | String | Lea en el json de plantilla como una cadena con @parametername referencia. Use solo un atributo Template*. |
TemplatePath | String | Para su uso con Locker. Anexa la ruta de acceso a la caja de seguridad para la ubicación de la plantilla de arm. Use solo un atributo Template*. |
Armario | String | Para su uso con TemplatePath. Admite la extracción de la plantilla de brazo de locker. |
ParameterValues. | Parámetro de ARM | ParameterValues.my-parameter donde my-parameter es un parámetro. Los parámetros de las plantillas de ARM admiten cadenas, listas, enteros, booleanos. |
VariableOverrides. | ARM Variable | VariableOverrides.my variable donde my-variable es un nombre de variable en la plantilla de ARM. Las variables de las plantillas de ARM admiten cadenas, listas, enteros, booleanos. |
ParameterizeVariables | Boolean | Use con VariableValues. Exponga variables de plantilla de ARM en el menú de la interfaz de usuario del clúster y la plantilla de clúster. |
VariableValues. | ARM Variable | VariableValues.my variable. Alternativa a VariableOverrides. Use con ParameterizeVariables. |
Azure.ResourceGroup | String | Nombre del grupo de recursos de Azure para la implementación. |
ManagedLifecycle | Boolean | Para su uso con la implementación existente. El valor predeterminado es true. |
Nombre | String | Nombre del grupo de recursos que sale previamente. |
Etiquetas. | String | Use tags.my-tag = my-tag-value para agregar etiquetas al grupo de recursos que posee la implementación, además de las etiquetas asignadas por CycleCloud de forma predeterminada. |
En el caso de las implementaciones preexistentes, el nombre del objeto de entorno hace referencia al nombre de la implementación de ARM.
Uso de recursos y salidas de entorno
[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}
Después del modelo de implementación de ARM, los entornos crearán recursos y expondrán esos recursos a los demás objetos de plantilla de clúster para su uso.
Con la ${}
notación, puede hacer referencia a los recursos de ARM creados en su esquema nativo.
Atributo | Definición |
---|---|
Salidas. | Use como ${environment-name.Outputs.my-output} en la plantilla donde my-output es el nombre de una salida en la plantilla de ARM. |
Recursos. | Use como ${environment-name.Resources.my-resource-name.key1.key2} en la plantilla donde my-resource-name es el nombre de un recurso de la plantilla de ARM y key1, key2 son claves relacionadas en el objeto de recurso. |
Referencia a recursos anidados
Los entornos administrados por CycleCloud se representan mediante una estructura de datos anidada. A menudo resulta útil hacer referencia a datos dentro de esta estructura.
[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}
Los índices de variables anidadas pueden depender del tipo de recurso arm que se va a crear.
env.resources.my-resource-name.id
, env.resources['my-resource-name'].id
, env.resources[MyResourceParam]
son todos los formatos válidos para las referencias a variables anidadas.