Delen via


Omgeving

Omgeving is rang 1. Een omgeving komt overeen met een Resource Manager-implementatie.

CycleCloud kan nu Azure Resource Manager-implementaties beheren met ARM-sjablonen. Deze omgevingen kunnen vanuit CycleCloud-sjabloonobjecten worden verwezen.

Hoewel de omgeving rang 1 is, is een clusterobject vereist in het clustersjabloonbestand.

Voorbeeld

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

Dit $ is een verwijzing naar een parameternaam. Het ${} is een andere manier om te verwijzen naar een parameternaam en kan verwijzen naar een omgeving.

In deze voorbeelden wordt de ARM-sjabloon gestart die bestaat op az://mystorageaccount/mycontainer/${ProjectVersion}/vnet.json als een ARM-implementatie en worden de resource en uitvoer als geneste gegevens in de vnet variabele opgegeven.

Kenmerkreferentie

Kenmerk Type Definitie
Referenties Tekenreeks Naam van cloudprovideraccount
Region Tekenreeks Azure-locatie, bijvoorbeeld westus2
TemplateURL Tekenreeks Geldige URL voor arm-sjabloonlocatie op internet. Gebruik slechts één sjabloon*-kenmerk.
TemplateContents Tekenreeks Lees in de sjabloon-json als een tekenreeks met @parametername verwijzing. Gebruik slechts één sjabloon*-kenmerk.
TemplatePath Tekenreeks Voor gebruik met Locker. Hiermee wordt het pad toegevoegd aan Locker voor de locatie van arm-sjablonen. Gebruik slechts één sjabloon*-kenmerk.
Locker Tekenreeks Voor gebruik met TemplatePath. Ondersteunt het ophalen van arm-sjabloon uit Locker.
Parametervalues. ARM-parameter ParameterValues.my-parameter waarbij mijn parameter een parameter is. Parameters in ARM-sjablonen ondersteunen tekenreeksen, lijsten, gehele getallen, booleaanse waarden.
VariableOverrides. ARM-variabele VariableOverrides.my-variabele waarbij mijn variabele een variabelenaam is in de ARM-sjabloon. Variabelen in ARM-sjablonen ondersteunen tekenreeksen, lijsten, gehele getallen, booleaanse waarden.
ParameterizeVariables Booleaans Gebruiken met VariableValues. Arm-sjabloonvariabelen beschikbaar maken in het menu van de clustergebruikersinterface en de clustersjabloon.
VariableValues. ARM-variabele VariableValues.my-variabele. Alternatief voor VariableOverrides. Gebruiken met ParameterizeVariables.
Azure.ResourceGroup Tekenreeks Naam van Azure-resourcegroep voor implementatie.
ManagedLifecycle Booleaans Voor gebruik met bestaande implementatie. De standaardwaarde is true.
Name Tekenreeks Naam van de resourcegroep die vooraf wordt afgesloten.
Tags. Tekenreeks Gebruik tags.my-tag = my-tag-value dit om tags toe te voegen aan de resourcegroep die de implementatie bezit, naast de tags die standaard zijn toegewezen door CycleCloud.

Voor bestaande implementaties verwijst de naam van het omgevingsobject naar de naam van de ARM-implementatie.

Omgevingsbronnen en -uitvoer gebruiken

[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}

Na het ARM-implementatiemodel maken omgevingen resources en maken deze resources beschikbaar voor de andere clustersjabloonobjecten voor gebruik.

Met behulp van de ${} notatie kunt u vervolgens verwijzen naar gemaakte ARM-resources in hun systeemeigen schema.

Kenmerk Definitie
Uitgangen. Gebruik als ${environment-name.Outputs.my-output} in de sjabloon waarin mijn uitvoer de naam is van een uitvoer in de ARM-sjabloon.
Resources. Gebruik als ${environment-name.Resources.my-resource-name.key1.key2} in de sjabloon waarin mijn resourcenaam de naam is van een resource in de ARM-sjabloon en key1. Key2 zijn gerelateerde sleutels in het resourceobject.

Verwijzen naar geneste resources

Omgevingen die worden beheerd door CycleCloud, worden vertegenwoordigd door een geneste gegevensstructuur. Het is vaak handig om te verwijzen naar gegevens binnen deze structuur.

[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}

De indexen van geneste variabelen kunnen afhankelijk zijn van het ARM-resourcetype dat wordt gemaakt. env.resources.my-resource-name.id, env.resources['my-resource-name'].idenv.resources[MyResourceParam] zijn alle geldige notaties voor verwijzingen naar geneste variabelen.