다음을 통해 공유


환경

환경은 순위 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 중첩된 데이터로 제공합니다.

특성 참조

attribute Type 정의
자격 증명 String 클라우드 공급자 계정의 이름
지역 String Azure 위치( 예: westus2
TemplateURL String 웹에서 ARM 템플릿 위치에 대한 유효한 URL입니다. Template* 특성은 하나만 사용합니다.
TemplateContents String 템플릿 json에서 참조가 있는 문자열 @parametername 로 읽습니다. Template* 특성은 하나만 사용합니다.
TemplatePath String Locker와 함께 사용할 수 있습니다. arm 템플릿 위치의 사물함에 경로를 추가합니다. Template* 특성은 하나만 사용합니다.
사물함 String TemplatePath와 함께 사용할 수 있습니다. 사물함에서 팔 서식 파일을 끌어당기는 것을 지원합니다.
ParameterValues. ARM 매개 변수 my-parameter가 매개 변수인 ParameterValues.my 매개 변수입니다. ARM 템플릿의 매개 변수는 문자열, 목록, 정수, 부울을 지원합니다.
VariableOverrides. ARM 변수 VariableOverrides.my 변수입니다. 여기서 my 변수는 ARM 템플릿의 변수 이름입니다. ARM 템플릿의 변수는 문자열, 목록, 정수, 부울을 지원합니다.
ParameterizeVariables 부울 VariableValues와 함께 사용합니다. 클러스터 UI 메뉴 및 클러스터 템플릿에서 ARM 템플릿 변수를 노출합니다.
VariableValues. ARM 변수 VariableValues.my 변수입니다. VariableOverrides의 대안입니다. ParameterizeVariables와 함께 사용합니다.
Azure.ResourceGroup String 배포할 Azure 리소스 그룹의 이름입니다.
ManagedLifecycle 부울 기존 배포와 함께 사용할 수 있습니다. 기본값은 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 리소스를 참조할 수 있습니다.

attribute 정의
출력 my-output이 ARM 템플릿의 출력 이름인 템플릿에서와 같이 ${environment-name.Outputs.my-output} 사용합니다.
리소스. my-resource-name이 ARM 템플릿의 리소스 이름이고 key1, key2가 리소스 개체의 관련 키인 템플릿에서와 같이 ${environment-name.Resources.my-resource-name.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.idenv.resources['my-resource-name'].idenv.resources[MyResourceParam] 모두 중첩된 변수에 대한 참조에 유효한 형식입니다.