Freigeben über


Umwelt

Die Umgebung ist Rang 1. Eine Umgebung entspricht einer Resource Manager-Bereitstellung.

CycleCloud kann jetzt Azure Resource Manager-Bereitstellungen mit ARM-Vorlagen verwalten. Sie können in CycleCloud-Vorlagenobjekten auf diese Umgebungen verweisen.

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 diesem Beispiel wird die ARM-Vorlage gestartet, die bei az://mystorageaccount/mycontainer/${ProjectVersion}/vnet.json als ARM-Bereitstellung vorhanden ist, und stellt die Ressourcen und Ausgaben als geschachtelte Daten in der vnet Variablen bereit.

Attributreferenz

Merkmal Typ Definition
Anmeldeinformationen Schnur Name des Cloudanbieterkontos
Region Schnur Azure-Standort, z. B. Westus2
TemplateURL Schnur Gültige URL für den Ort der ARM-Vorlage im Web. Verwenden Sie nur ein Template*-Attribut.
Vorlageninhalte Schnur JSON-Vorlagen wird als Zeichenfolge mit @parametername Verweis gelesen. Verwenden Sie nur ein Template*-Attribut.
TemplatePath Schnur Zur Verwendung mit Schließfach. Fügt den Pfad zum Schließfach für den Speicherort der ARM-Vorlage an. Verwenden Sie nur ein Template*-Attribut.
Locker Schnur Für die Verwendung mit TemplatePath. Unterstützt das Abrufen der ARM-Vorlage aus dem Tresor.
ParameterValues. ARM-Parameter ParameterValues.my-parameter, wobei my-parameter ein Parameter ist. Parameter in ARM-Vorlagen unterstützen Strings, Listen, ganze Zahlen, Boolesche Werte.
VariableOverrides. ARM-Variable VariableOverrides.my-variable, wobei my-variable ein Variablenname in der ARM-Vorlage ist. Variablen in ARM-Vorlagen unterstützen Strings, Listen, ganze Zahlen, booleansche Werte.
ParameterizeVariables Boolean Verwendung mit VariableValues. Anzeigen von ARM-Template-Variablen im Menü der Cluster-Benutzeroberfläche und der Clustervorlage.
VariableValues ARM-Variable Verwenden Sie VariableValues.my-variable. Alternative zu VariableOverrides. Verwendung mit ParameterizeVariables.
Azure.ResourceGroup Schnur Name der Azure-Ressourcengruppe für die Bereitstellung.
ManagedLifecycle Boolean Mit vorhandener Bereitstellung verwenden. Der Standardwert ist "true".
Name Schnur Name der vor dem Beenden der Ressourcengruppe.
Tags Schnur Verwenden Sie tags.my-tag = my-tag-value, um Tags zur Ressourcengruppe hinzuzufügen, die die Bereitstellung enthält, zusätzlich zu den Tags, die standardmäßig von CycleCloud zugewiesen werden.

Bei vorhandenen Bereitstellungen bezieht sich der Name des Umgebungsobjekts auf den ARM-Bereitstellungsnamen.

Verwendung von Umgebungsressourcen und -ergebnissen

[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 machen diese Ressourcen für die anderen Clustervorlagenobjekte verfügbar.

Mithilfe der ${} Schreibweise können Sie auf erstellte ARM-Ressourcen im systemeigenen Schema verweisen.

Merkmal Definition
Ausgaben Wird wie ${environment-name.Outputs.my-output} in der Vorlage verwendet, wobei my-output es sich um den Namen einer Ausgabe in der ARM-Vorlage handelt.
Ressourcen Verwenden Sie ${environment-name.Resources.my-resource-name.key1.key2} in einer Vorlage, wobei my-resource-name der Name einer Ressource in der ARM-Vorlage ist und key1, key2 die zugehörigen Schlüssel im Ressourcenobjekt sind.

Verweisen auf geschachtelte Ressourcen

CycleCloud stellt Umgebungen mit einer geschachtelten Datenstruktur dar. Häufig müssen Sie in dieser Struktur auf Daten 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 ARM-Ressourcentyp abhängen, den Sie erstellen. Die folgenden Formate sind alle gültig für Verweise auf geschachtelte Variablen: env.resources.my-resource-name.id, , env.resources['my-resource-name'].idund env.resources[MyResourceParam].