Environnement
L’environnement est classé 1. Un environnement correspond à un déploiement Resource Manager.
CycleCloud peut désormais gérer les déploiements azure Resource Manager avec des modèles ARM. Ces environnements peuvent être référencés à partir d’objets de modèle CycleCloud.
Alors que l’environnement est classé 1, un objet de cluster est requis dans le fichier de modèle de cluster.
Exemple
[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]
Il $
s’agit d’une référence à un nom de paramètre. Il ${}
s’agit d’une autre façon de référencer un nom de paramètre et d’autoriser la référence à un environnement.
Ces exemples lancent le modèle ARM existant à az://mystorageaccount/mycontainer/${ProjectVersion}/vnet.json en tant que déploiement ARM, et fournissent la ressource et les sorties en tant que données imbriquées dans la vnet
variable.
Référence d’attribut
Attribut | Type | Définition |
---|---|---|
Informations d'identification | String | Nom du compte de fournisseur de cloud |
Region | String | Emplacement Azure, par exemple westus2 |
TemplateURL | String | URL valide pour l’emplacement du modèle ARM sur le web. Utilisez un seul attribut Template*. |
TemplateContents | String | Lire dans le modèle json sous forme de chaîne avec @parametername référence. Utilisez un seul attribut Template*. |
TemplatePath | String | Pour une utilisation avec Locker. Ajoute le chemin d’accès au coffre pour l’emplacement du modèle arm. Utilisez un seul attribut Template*. |
Casier | String | Pour une utilisation avec TemplatePath. Prend en charge l’extraction d’un modèle arm à partir de locker. |
Parametervalues. | Paramètre ARM | ParameterValues.my-parameter où my-parameter est un paramètre. Les paramètres dans les modèles ARM prennent en charge la chaîne, la liste, les entiers, la valeur booléenne. |
VariableOverrides. | ARM Variable | VariableOverrides.my-variable où my-variable est un nom de variable dans le modèle ARM. Les variables dans les modèles ARM prennent en charge la chaîne, la liste, les entiers, la valeur booléenne. |
ParameterizeVariables | Boolean | Utiliser avec VariableValues. Exposer des variables de modèle ARM dans le menu de l’interface utilisateur du cluster et le modèle de cluster. |
VariableValues. | ARM Variable | variable VariableValues.my. Alternative à VariableOverrides. Utiliser avec ParameterizeVariables. |
Azure.ResourceGroup | String | Nom du groupe de ressources Azure pour le déploiement. |
ManagedLifecycle | Boolean | Pour une utilisation avec un déploiement existant. La valeur par défaut est true. |
Nom | String | Nom du groupe de ressources pré-sortant. |
Étiquettes. | String | Permet tags.my-tag = my-tag-value d’ajouter des balises au groupe de ressources qui possèdent le déploiement en plus des balises affectées par CycleCloud par défaut. |
Pour les déploiements préexistants, le nom de l’objet d’environnement fait référence au nom de déploiement ARM.
Utilisation des ressources et des sorties de l’environnement
[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}
Après le modèle de déploiement ARM, les environnements créent des ressources et exposent ces ressources aux autres objets de modèle de cluster à utiliser.
À l’aide de la ${}
notation, vous pouvez ensuite faire référence aux ressources ARM créées dans leur schéma natif.
Attribut | Définition |
---|---|
Sorties. | Utilisez comme ${environment-name.Outputs.my-output} dans le modèle où my-output est le nom d’une sortie dans le modèle ARM. |
Ressources. | Utilisez comme ${environment-name.Resources.my-resource-name.key1.key2} dans le modèle où my-resource-name est le nom d’une ressource dans le modèle ARM et key1, key2 sont des clés associées dans l’objet de ressource. |
Référence aux ressources imbriquées
Les environnements gérés par CycleCloud sont représentés par une structure de données imbriquée. Il est souvent utile de référencer des données au sein de cette structure.
[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}
Les index des variables imbriquées peuvent dépendre du type de ressource ARM en cours de création.
env.resources.my-resource-name.id
, env.resources['my-resource-name'].id
env.resources[MyResourceParam]
sont tous des formats valides pour les références aux variables imbriquées.