Partager via


Environnement

L’environnement est classé 1. Un environnement est équivalent à un déploiement du Resource Manager.

CycleCloud peut désormais gérer les déploiements Azure Resource Manager avec des modèles ARM. Vous pouvez faire référence à ces environnements à partir d’objets de modèle CycleCloud.

Pendant 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]

La $ est 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 permet de référencer un environnement.

Cet exemple lance le modèle ARM existant à az://mystorageaccount/mycontainer/${ProjectVersion}/vnet.json en tant que déploiement ARM et fournit les ressources et sorties en tant que données imbriquées dans la vnet variable.

Informations de référence sur les attributs

Caractéristique Type Définition
Informations d’identification Chaîne Nom du compte de fournisseur de cloud
Région Chaîne Emplacement Azure, tel que westus2
TemplateURL Chaîne URL valide pour l’emplacement du modèle ARM sur le Web. Utilisez un seul attribut Template*.
ContenuDuModèle Chaîne Modèle JSON lu sous forme de chaîne avec @parametername référence. Utilisez un seul attribut Template*.
TemplatePath Chaîne Pour une utilisation avec Locker. Ajoute le chemin d’accès au casier pour l’emplacement du modèle ARM. Utilisez un seul attribut Template*.
Locker Chaîne Pour une utilisation avec TemplatePath. Prend en charge l’extraction du modèle ARM à partir de locker.
ParameterValues. Paramètre ARM ParameterValues.my-parameter où my-parameter est un paramètre. Les paramètres des 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 Booléen Utiliser avec VariableValues. Exposer les variables de modèle ARM dans le menu de l’interface utilisateur du cluster et dans le modèle de cluster.
VariableValues Variable ARM Utilisez VariableValues.my-variable. Alternative à VariableOverrides. Utiliser avec ParameterizeVariables.
Azure.ResourceGroup Chaîne Nom du groupe de ressources Azure pour le déploiement.
ManagedLifecycle Booléen Utiliser avec le déploiement existant. La valeur par défaut est true.
Name Chaîne Nom du groupe de ressources préexistant.
Tags Chaîne Permet tags.my-tag = my-tag-value d’ajouter des balises au groupe de ressources possédant 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 du déploiement ARM.

Utilisation des ressources et des résultats environnementaux

[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 faire référence à des ressources ARM créées dans leur schéma natif.

Caractéristique 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 key1key2 , sont des clés associées dans l’objet de ressource.

Référence aux ressources imbriquées

CycleCloud représente des environnements avec une structure de données imbriquée. Vous devez souvent référencer des données dans 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 que vous créez. Les formats suivants sont tous valides pour les références aux variables imbriquées : env.resources.my-resource-name.id, env.resources['my-resource-name'].idet env.resources[MyResourceParam].