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'].id
env.resources[MyResourceParam]
zijn alle geldige notaties voor verwijzingen naar geneste variabelen.