Freigeben über


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'].idenv.resources[MyResourceParam] sind alle gültigen Formate für Verweise auf geschachtelte Variablen.