環境
環境是排名 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]
$
是參數名稱的參考。
${}
是參考參數名稱的另一種方式,並允許參考環境。
此範例會以 ARM 部署的形式在 az://mystorageaccount/mycontainer/${ProjectVersion}/vnet.json 上啟動現有的 ARM 範本,並提供 資源 與 輸出 作為變數內的 vnet
巢狀資料。
屬性參考
屬性 | 類型 | 定義 |
---|---|---|
認證 | String | 雲端提供者帳戶的名稱 |
區域 | String | Azure 位置,例如westus2 |
TemplateURL | String | Web 上 ARM 範本位置的有效 URL。 只使用一個 Template* 屬性。 |
TemplateContents | String | 以具有參考的字串 @parametername 形式讀取範本 json。 只使用一個 Template* 屬性。 |
TemplatePath | String | 與保險箱搭配使用。 將路徑附加至 arm 範本位置的保險箱。 只使用一個 Template* 屬性。 |
櫃子 | String | 用於 TemplatePath。 支援從保險箱提取 arm 範本。 |
ParameterValues。 | ARM 參數 | ParameterValues.my 參數,其中 my-parameter 是參數。 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 資源。
屬性 | 定義 |
---|---|
输出。 | 如在範本中使用 , ${environment-name.Outputs.my-output} 其中 my-output 是 ARM 範本中的輸出名稱。 |
資源。 | 在 my-resource-name 是 ARM 範本和 key1 中資源的名稱時,使用 as ${environment-name.Resources.my-resource-name.key1.key2} ,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[MyResourceParam]
、 env.resources['my-resource-name'].id
是巢狀變數參考的所有有效格式。