Окружающая среда

Среда занимает первое место. Среда соответствует развертыванию Resource Manager.

CycleCloud теперь может управлять развертываниями Azure Resource Manager с помощью шаблонов ARM. В объектах шаблона 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.

Ссылка на атрибут

Атрибут Тип Определение
Подтверждение компетенции Струна Имя учетной записи поставщика облачных служб
Область Струна Пример расположения Azure, например, westus2
TemplateURL Струна Допустимый URL-адрес для расположения шаблона ARM в Интернете. Используйте только один атрибут Template*.
СодержимоеШаблона Струна JSON-шаблон читается как строка со ссылкой @parametername. Используйте только один атрибут Template*.
TemplatePath Струна Для использования с Locker. Добавляет путь к хранилищу для расположения шаблона ARM. Используйте только один атрибут Template*.
Шкафчик Струна Для использования с TemplatePath. Поддерживает извлечение шаблона ARM из хранилища.
ParameterValues. Параметр ARM ParameterValues.my-parameter, где my-parameter является параметром. Параметры в шаблонах ARM поддерживают строку, список, целые числа, логические значения.
VariableOverrides. Переменная ARM VariableOverrides.my-variable, где my-variable — это имя переменной в шаблоне ARM. Переменные в шаблонах ARM поддерживают строку, список, целые числа, логические значения.
ParameterizeVariables Boolean Использовать с VariableValues. Предоставление переменных шаблона ARM в меню пользовательского интерфейса кластера и шаблоне кластера.
VariableValues Переменная ARM Используйте VariableValues.my-variable. Альтернатива VariableOverrides. Использовать с ParameterizeVariables.
Azure.ResourceGroup Струна Имя группы ресурсов Azure для развертывания.
ManagedLifecycle Boolean Совместное использование с существующим развертыванием. Значение по умолчанию — истинно.
Name Струна Имя предварительной группы ресурсов.
Tags Струна Используйте tags.my-tag = my-tag-value для добавления тегов в группу ресурсов, обладающую развертыванием, помимо тегов, назначенных CycleCloud по умолчанию.

Для ранее созданных развертываний имя объекта среды соответствует имени развертывания 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.
Ресурсы. Используйте как ${environment-name.Resources.my-resource-name.key1.key2} в шаблоне, где my-resource-name имя ресурса в шаблоне ARM и key1key2 связанные ключи в объекте ресурса.

Ссылка на вложенные ресурсы

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].