環境
環境はランク 1 です。 環境は、Resource Managerデプロイに対応します。
CycleCloud では、ARM テンプレートを使用して Azure Resource Manager デプロイを管理できるようになりました。 これらの環境は、CycleCloud テンプレート オブジェクト内から参照できます。
環境がランク 1 の場合、クラスター テンプレート ファイルにはクラスター オブジェクトが必要です。
例
[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]
これは $
パラメーター名への参照です。 これは ${}
、パラメーター名を参照するもう 1 つの方法であり、環境への参照を許可します。
この例では、arm デプロイとして az://mystorageaccount/mycontainer/${ProjectVersion}/vnet.json に存在する ARM テンプレートを起動し、 リソース と 出力 を変数内 vnet
の入れ子になったデータとして指定します。
属性リファレンス
属性 | Type | 定義 |
---|---|---|
資格情報 | String | クラウド プロバイダー アカウントの名前 |
リージョン | String | たとえば、Azure の場所。westus2 |
TemplateURL | String | WEB 上の ARM テンプレートの場所の有効な URL。 Template* 属性は 1 つだけ使用します。 |
TemplateContents | String | テンプレート json を参照する @parametername 文字列として読み取ります。 Template* 属性は 1 つだけ使用します。 |
TemplatePath | String | ロッカーと一緒に使用する場合。 arm テンプレートの場所のロッカーにパスを追加します。 Template* 属性は 1 つだけ使用します。 |
ロッカー | String | TemplatePath で使用する場合。 ロッカーからアームテンプレートを引っ張るサポート。 |
ParameterValues。 | ARM パラメーター | my-parameter がパラメーターである ParameterValues.my パラメーター。 ARM テンプレートのパラメーターは、文字列、リスト、整数、ブール値をサポートします。 |
VariableOverrides。 | ARM 変数 | VariableOverrides.my 変数。my-variable は ARM テンプレートの変数名です。 ARM テンプレートの変数は、文字列、リスト、整数、ブール値をサポートします。 |
ParameterizeVariables | Boolean | VariableValues で使用します。 クラスター UI メニューとクラスター テンプレートで ARM テンプレート変数を公開します。 |
VariableValues。 | ARM 変数 | VariableValues.my 変数。 VariableOverrides の代わりに使用できます。 ParameterizeVariables で使用します。 |
Azure.ResourceGroup | String | デプロイ用の Azure リソース グループの名前。 |
ManagedLifecycle | Boolean | 既存のデプロイで使用する場合。 既定値は true です。 |
名前 | String | 終了前のリソース グループの名前。 |
タグ。 | String | 既定で CycleCloud によって割り当てられたタグに加えて、デプロイを所有するリソース グループにタグを追加するために使用 tags.my-tag = my-tag-value します。 |
既存のデプロイの場合、環境オブジェクト名は ARM デプロイ名を参照します。
環境リソースと出力の使用
[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}
ARM デプロイ モデルに従って、環境はリソースを作成し、それらのリソースを他のクラスター テンプレート オブジェクトに公開して使用します。
この表記法を ${}
使用すると、ネイティブ スキーマで作成された ARM リソースを参照できます。
属性 | 定義 |
---|---|
出力。 | my-output が ARM テンプレート内の出力の名前であるテンプレートと同様 ${environment-name.Outputs.my-output} に使用します。 |
リソース | my-resource-name が ARM テンプレート内のリソースの名前であるテンプレートと同様 ${environment-name.Resources.my-resource-name.key1.key2} に使用します。key1、key2 はリソース オブジェクト内の関連キーです。 |
入れ子になったリソースの参照
CycleCloud によって管理される環境は、入れ子になったデータ構造によって表されます。 多くの場合、この構造体内のデータを参照すると便利です。
[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}
入れ子になった変数のインデックスは、作成される ARM リソースの種類によって異なります。
env.resources.my-resource-name.id
は env.resources['my-resource-name'].id
、 env.resources[MyResourceParam]
入れ子になった変数への参照のすべての有効な形式です。