Environment
Umgebung ist Rang 1. Eine Umgebung entspricht einer Resource Manager Bereitstellung.
CycleCloud kann jetzt Azure Resource Manager-Bereitstellungen mit ARM-Vorlagen verwalten. Diese Umgebungen können innerhalb von CycleCloud-Vorlagenobjekten darauf verwiesen werden.
Während die Umgebung rang 1 ist, ist ein Clusterobjekt in der Clustervorlagendatei erforderlich.
Beispiel
[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]
Dies $
ist ein Verweis auf einen Parameternamen. Dies ${}
ist eine andere Möglichkeit, auf einen Parameternamen zu verweisen und einen Verweis auf eine Umgebung zu ermöglichen.
In diesen Beispielen wird die ARM-Vorlage gestartet, die bei az://mystorageaccount/mycontainer/${ProjectVersion}/vnet.json als ARM-Bereitstellung vorhanden ist und die Ressourcen - und Ausgabedaten als geschachtelte Daten in der vnet
Variablen bereitgestellt werden.
Attributreferenz
Attribut | Typ | Definition |
---|---|---|
Anmeldeinformationen | String | Name des Cloudanbieterkontos |
Region | String | Azure-Standort, z. B. westus2 |
TemplateURL | String | Gültige URL für ARM-Vorlagenspeicherort im Web. Verwenden Sie nur ein Template*-Attribut. |
TemplateContents | String | Lesen Sie in der Vorlagen-JSON als Zeichenfolge mit @parametername Verweis. Verwenden Sie nur ein Template*-Attribut. |
TemplatePath | String | Zur Verwendung mit Schließfach. Fügt den Pfad zum Schließfach für den Speicherort der Armvorlage an. Verwenden Sie nur ein Template*-Attribut. |
Spind | String | Für die Verwendung mit TemplatePath. Unterstützt das Ziehen von Armvorlagen aus dem Schließfach. |
Parametervalues. | ARM-Parameter | ParameterValues.my-Parameter, bei dem my-parameter ein Parameter ist. Parameter in ARM-Vorlagen unterstützen Zeichenfolge, Liste, ganze Zahlen, boolescher Wert. |
VariableOverrides. | ARM-Variable | VariableOverrides.my-Variable, bei der my-variable ein Variablenname in der ARM-Vorlage ist. Variablen in ARM-Vorlagen unterstützen Zeichenfolge, Liste, ganze Zahlen, boolescher Wert. |
ParameterizeVariables | Boolean | Verwenden Sie variableValues. Stellen Sie ARM-Vorlagenvariablen im Menü "Clusterbenutzeroberfläche" und "Clustervorlage" bereit. |
VariableValues. | ARM-Variable | VariableValues.my variable. Alternative zu VariableOverrides. Verwenden Sie parameterizeVariables. |
Azure.ResourceGroup | String | Name der Azure-Ressourcengruppe für die Bereitstellung. |
ManagedLifecycle | Boolean | Für die Verwendung mit vorhandener Bereitstellung. Der Standardwert ist "true". |
Name | String | Name der vor dem Beenden der Ressourcengruppe. |
Tags | String | Verwenden Sie tags.my-tag = my-tag-value zum Hinzufügen von Tags zur Ressourcengruppe, die die Bereitstellung zusätzlich zu den Tags enthält, die von CycleCloud standardmäßig zugewiesen sind. |
Bei vorhandenen Bereitstellungen bezieht sich der Name des Umgebungsobjekts auf den ARM-Bereitstellungsnamen.
Verwenden von Umgebungsressourcen und -ausgaben
[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}
Nach dem ARM-Bereitstellungsmodell erstellen Umgebungen Ressourcen und stellen diese Ressourcen den anderen Clustervorlagenobjekten zur Verwendung zur Verfügung.
Mithilfe der ${}
Notation können Sie dann auf erstellte ARM-Ressourcen im systemeigenen Schema verweisen.
attribute | Definition |
---|---|
Outputs (Ausgaben). | Verwenden Sie die Vorlage, ${environment-name.Outputs.my-output} in der meine Ausgabe den Namen einer Ausgabe in der ARM-Vorlage ist. |
Ressourcen | Wird als ${environment-name.Resources.my-resource-name.key1.key2} Vorlage verwendet, in der "my-resource-name" der Name einer Ressource in der ARM-Vorlage und "Key1" ist, sind schlüssel2 verwandte Schlüssel im Ressourcenobjekt. |
Verweisen auf geschachtelte Ressourcen
Von CycleCloud verwaltete Umgebungen werden durch eine geschachtelte Datenstruktur dargestellt. Es ist häufig nützlich, auf Daten innerhalb dieser Struktur zu verweisen.
[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}
Die Indizes geschachtelter Variablen können vom erstellten ARM-Ressourcentyp abhängen.
env.resources.my-resource-name.id
, env.resources['my-resource-name'].id
env.resources[MyResourceParam]
sind alle gültigen Formate für Verweise auf geschachtelte Variablen.