Поделиться через


Объекты Node и Nodearray

Объекты node и nodearray являются рангом 2 и подчинены cluster. Узел представляет одну виртуальную машину, в то время как узел может представлять коллекцию виртуальных машин или по крайней мере один масштабируемый набор виртуальных машин.

Значения по умолчанию узла

[[node defaults]] — это специальный абстрактный узел, указывающий параметр по умолчанию для всех узлов и узлов в кластере:

[cluster my-cluster]
  [[node defaults]]
  Credentials = $Credentials
  SubnetId = my-rg/my-vnet/my-subnet
  MachineType = Standard_D2s_v3

  [[nodearray grid]]
  ImageName = cycle.image.centos6
  MachineType = Standard_H16

$Credentials — это ссылка на параметр с именем Credentials.

В my-clustergrid nodearray наследует credential and SubnetId от узла defaults, но использует определенный размер виртуальной машины HPC Standard_H16.

Пример

В этом примере шаблон создает кластер с двумя узлами и узлом. Прокси-узел использует IsReturnProxy для определения специальной роли ReturnProxy, которая будет конечной точкой для прокси обратного канала, поступающим из CycleCloud при запуске кластера.

[cluster my-cluster]

  [[node defaults]]
    Credentials = $Credentials
    SubnetId = $SubnetId
    KeyPairLocation = ~/.ssh/cyclecloud.pem
    ImageName = cycle.image.centos7

  [[node proxy]]
    IsReturnProxy = true
    MachineType = Standard_B2

  [[node scheduler]]
    MachineType = Standard_D4s_v3

  [[nodearray execute]]
    MachineType = Standard_D16s_v3

Ссылка на обязательный атрибут

Для успешного запуска узла существует не менее четырех обязательных атрибутов:

Атрибут Тип Определение
MachineType Струна Размер виртуальной машины Azure
SubnetId Струна Определение подсети в форме ${rg}/${vnet}/${subnet}
Верительные грамоты Струна Имя учетной записи поставщика облачных служб.

Четвертый обязательный атрибут связан с изображением. Атрибут изображения является обязательным, но есть несколько форм, которые можно принять. См. раздел "Атрибуты изображения".

Дополнительные атрибуты

Атрибут Тип Определение
Имя компьютера Струна Имя компьютера для виртуальной машины. При указании переопределяет имя, созданное системой.
ComputerNamePrefix Струна Префикс предварительно заготовлен в именах компьютеров, созданных системой
Зона Строка (список) Зона доступности для виртуальной машины или VMSS. Может быть списком для VMSS. Например, Zone = 1,3
KeyPairLocation Целое число Где CycleCloud найдет ключ SSH на локальной файловой системе
KeepAlive Булев Если значение true, CycleCloud предотвратит завершение этого узла.
Шкафчик Струна Укажите имя locker, из которого нужно скачать спецификации проекта. См. использование проектов
Атрибут Тип Определение
Имя компьютера Струна Имя компьютера для виртуальной машины. При указании переопределяет имя, созданное системой.
ComputerNamePrefix Струна Префикс предварительно заготовлен в именах компьютеров, созданных системой
ЭфемералOSDisk Булев Используйте временный загрузочный диск для виртуальной машины, если он поддерживается
Зона Строка (список) Зона доступности для виртуальной машины или VMSS. Может быть списком для VMSS. Например, Zone = 1,3
ProximityPlacementGroupId Струна Полный идентификатор группы размещения близкого взаимодействия для размещения этого узла. Должен начинаться с /subscriptions/
PlacementGroupId Струна Если задано, эта метка используется для размещения этого узла в одной группе размещения со всеми остальными узлами, имеющими соответствующее значение для PlacementGroupId. Это обеспечивает более низкую задержку и требуется для включения InfiniBand на размерах виртуальных машин, поддерживающих их. Обычно это устанавливается планировщиком по мере необходимости, поэтому его не нужно указывать вручную.
KeyPairLocation Целое число Где CycleCloud найдет ключ SSH на локальной файловой системе
KeepAlive Булев Если значение true, CycleCloud предотвратит завершение этого узла.
Шкафчик Струна Укажите имя locker, из которого нужно скачать спецификации проекта. См. использование проектов
BootDiagnosticsUri Струна URI хранилища для диагностики загрузки (например, https://mystorageaccount.blob.core.windows.net/), если задано. Плата за хранение будет применяться.
HybridBenefit Булев Если значение true, включите лицензирование "Преимущество гибридного использования Azure" для виртуальных машин Windows
EnableTerminateNotification (8.2.0+) Булев Если задано значение true, уведомление о завершении отправлять события при удалении виртуальной машины на виртуальную машину для локальной обработки. Это относится только к виртуальным машинам масштабируемого набора.
TerminateNotificationTimeout (8.2.2+) Относительное время Если уведомление о завершении включено, это определяет, сколько виртуальных машин предоставляется для обработки события перед удалением.
ThrottleCapacity (8.2.2+) Булев Если значение true, этот узел сообщает о емкости 0 автомасштабировщикам за 5 минут после возникновения проблемы с емкостью
ThrottleCapacityTime (8.2.2+) Относительное время Если ThrottleCapacity включена, это время, как долго сообщить о доступности 0 после ограничения емкости. Значение по умолчанию — "5 млн".
HybridBenefitLicense (8.3.0+) Струна Если HybridBenefit имеет значение true, это указывает лицензию, используемую: RHEL_BYOS, SLES_BYOSили Windows_Server. По умолчанию используется Windows_Server.
FlexScaleSetId (8.3.0+) Струна Если задано, это полный идентификатор масштабируемого набора в режиме оркестрации Flex, который используется для виртуальной машины для этого узла.
EncryptionAtHost (8.4.0+) Булев Если задано значение true, виртуальная машина будет иметь шифрование на узле.
SecurityType (8.5.0+) Струна Задаеттипа безопасности ; не определено, или
EnableSecureBoot (8.5.0+) Булев Включает безопасную загрузку, если используется доверенные виртуальные машины запуска или конфиденциальные виртуальные машины.
EnableVTPM (8.5.0+) Булев Включает модуль доверенной платформы, если используется доверенные виртуальные машины запуска или конфиденциальные виртуальные машины.

Заметка

Группа размещения близкого взаимодействия — это общая функция Azure, которую необходимо создать, прежде чем ее можно будет ссылаться на узле. Это позволяет виртуальным машинам CycleCloud объединяться с другими ресурсами Azure в этой группе размещения близкого взаимодействия, но не включает сети InfiniBand. В отличие от этого, PlacementGroupId является произвольной строкой в CycleCloud, используемой для группировки виртуальных машин для узлов в один масштабируемый набор, который ограничен тем же сетевым коммутатором, но не может быть объединен с другими ресурсами Azure. Их можно использовать вместе, но это может уменьшить количество виртуальных машин, которые можно выделить.

Атрибуты изображения

Образ виртуальной машины является обязательным параметром для запуска виртуальной машины. Существует три допустимых формы определения изображения: имена образов CycleCloud по умолчанию, определения образов Marketplace и идентификаторы изображений.

ImageName

CycleCloud поддерживает несколько образов Marketplace по умолчанию, доступных для различных вкусов ОС. Их можно указать с помощью ImageName.

Атрибут Тип Определение
ImageName Струна Имя изображения, поддерживаемого циклом. cycle.image. [win2016, win2012, centos7, centos6, ubuntu16, ubuntu14]

Образы Marketplace

Наряду с образами Marketplace, управляемыми циклом, можно использовать любой образ Marketplace, указав Publisher, Offer, Sku и ImageVersion.

Атрибут Тип Определение
Azure.Publisher Струна Издатель образа ВИРТУАЛЬНОй машины Marketplace
Azure.Offer Струна Предложение для образа Виртуальной машины Marketplace
Azure.Sku Струна Sku образа виртуальной машины Marketplace
Azure.ImageVersion Струна Версия образа Marketplace.

Заметка

Изображение Marketplace также можно указать в атрибуте ImageName, закодированном как URN в форме Publisher:Offer:Sku:ImageVersion.

Изображения с пользовательским тарифным планом

Для общих образов коллекции образов, подключенных к тарифному плану, требуются сведения об используемом плане, если только эти сведения не хранятся в образе общей коллекции образов. Это указано с атрибутом ImagePlan с помощью вложенных атрибутов Publisher, Product и Plan.

Заметка

Для использования пользовательских образов с тарифным планом требуется CycleCloud 8.0.2 или более поздней версии.

ImageId

Кроме того, можно использовать идентификатор ресурса образа виртуальной машины в подписке Credential:

Атрибут Тип Определение
ImageId Струна Идентификатор ресурса образа виртуальной машины

Атрибуты изображения

Образы и изображения Marketplace, определенные ImageIds, требуют нескольких дополнительных параметров для правильной настройки расширения ОС CycleCloud:

Атрибут Тип Определение
DownloadJetpack Булев Если значение false, CycleCloud не скачивает Jetpack из учетной записи хранения. Jetpack уже должен быть установлен. Примечание. Поддерживаются только узлы Linux. По умолчанию имеет значение true. Добавлено в версии 8.4.1.
InstallJetpack Булев Если значение false, CycleCloud не установит Jetpack на новых виртуальных машинах. По умолчанию имеет значение true.
AwaitInstallation Булев Если значение false, CycleCloud не будет ждать, пока Jetpack не сообщит сведения об установке при создании виртуальной машины. По умолчанию имеет значение true.
JetpackPlatform Струна Платформа установщика Jetpack используется: centos-7, centos-6, ubuntu-14.04, ubuntu-16.04, windows. Не рекомендуется использовать в версии 7.7.0.

Предупреждение

Не рекомендуется задавать InstallJetpack или AwaitInstallation. Кроме того, для настройки DownloadJetpack требуется пользовательский образ с правильной версией установки Jetpack и рекомендуется использовать только для сред, которые испытывают проблемы с загрузкой из учетных записей хранения.

Заметка

ImageId используется по умолчанию, если несколько определений изображений включены в определение одного узла.

Пример альтернативного изображения

Ниже приведен пример шаблона с помощью трех альтернативных конструкций образов для узлов:

[cluster image-example]
  [[node defaults]]
    Credentials = $Credentials
    MachineType = Standard_D2_v3
    SubnetId = my-rg/my-vnet/my-subnet

  [[node cycle-image]]
    ImageName = cycle.image.ubuntu16

  [[node my-custom-vm-image]]
    ImageId = /subscriptions/9B16BFF1-879F-4DB3-A55E-8F8AC1E6D461/resourceGroups/my-rg/providers/Microsoft.Compute/images/jetpack-rhel7-1b1e3e93

    # Jetpack already installed on image
    DownloadJetpack = false

  [[node marketplace-vm-image]]
    Azure.Publisher = Canonical
    Azure.Offer = UbuntuServer
    Azure.Sku = 16.04-LTS
    Azure.ImageVersion = latest

  [[node custom-marketplace-vm-image]]
    ImageName = /subscriptions/9B16BFF1-879F-4DB3-A55E-8F8AC1E6D461/resourceGroups/my-rg/providers/Microsoft.Compute/images/jetpack-rhel8-1b1e3e93
    ImagePlan.Name = rhel-lvm8
    ImagePlan.Publisher = redhat
    ImagePlan.Product = rhel-byos

Расширенные сетевые атрибуты

Атрибут Тип Определение
IsReturnProxy Булев Установите прокси-сервер обратного канала для этого узла. Только один узел для каждого кластера может иметь этот параметр как true.
ReturnPath.Hostname Имя узла Имя узла, где узел может достичь CycleCloud.
ReturnPath.WebserverPort Целое число Порт веб-сервера, где узел может достичь CycleCloud.
ReturnPath.BrokerPort Целое число Брокер, где узел может достичь CycleCloud.

Теги

CycleCloud поддерживает добавление тегов виртуальных машин и VMSS.

Атрибут Струна Определение
Теги Струна Используйте tags.my-tag = my-tag-value для добавления тегов в развертывание в дополнение к тегам, назначенным CycleCloud по умолчанию.

Обычные и точечные атрибуты

CycleCloud поддерживает использование точечных виртуальных машин с помощью следующих атрибутов. Дополнительные сведения см. в виртуальных машин.

Атрибут Струна Определение
Прерывание Булев Если задано значение true, виртуальная машина будет точечным виртуальным машином для предоставления снижения цен.
MaxPrice Плавать Максимальная цена на виртуальную машину. (по умолчанию: -1)

Атрибуты Nodearray-Specific

Все атрибуты узла допустимы для nodearray, но массив узлов является эластичным ресурсом, поэтому доступны дополнительные атрибуты. Nodearray — это драйвер для Масштабируемых наборов Azure VirtualMachine (VMSS) и может иметь множество резервных виртуальных машин.

Атрибут Струна Определение
Azure.AllocationMethod Струна Установите для этого значение StandAlone для управления одними виртуальными машинами или оставьте неопределенным использовать VMSS.
Azure.SingleScaleset Булев Используйте один vmSS для всех узлов (по умолчанию: false).
Azure.SinglePlacementGroup Булев Используйте параметр одной группы размещения для VMSS. (по умолчанию: false)
Azure.Overprovision Булев Используйте функцию Overprovision vmSS. Cyclecloud динамически устанавливается в зависимости от сценария. Это переопределение.
Azure.MaxScaleSetSize Целое число Ограничение количества виртуальных машин в одной виртуальной машине. После достижения этого максимального значения CycleCloud добавит в кластер дополнительные виртуальные машины VMSS. (По умолчанию: "40")
InitialCount Целое число Количество узлов, которые необходимо запустить при запуске кластера.
MaxCount Целое число Чтобы убедиться, что кластер никогда не превышает 10 узлов, необходимо указать значение 10. Обратите внимание, что MaxCount и MaxCoreCount можно использовать вместе, в этом случае более низкое эффективное ограничение вступает в силу.
InitialCoreCount Целое число Число ядер для запуска при запуске кластера.
MaxCoreCount Целое число Чтобы гарантировать, что кластер никогда не превышает 100 ядер, необходимо указать значение 100. Обратите внимание, что MaxCount и MaxCoreCount можно использовать вместе, в этом случае более низкое эффективное ограничение вступает в силу.
ShutdownPolicy Струна Указывает, что делать с виртуальной машиной при завершении работы узла. При завершении работы виртуальной машины виртуальная машина удаляется при завершении работы узла. Если "deallocate" узел остановлен. (по умолчанию: завершение)
Атрибут Струна Определение
Azure.AllocationMethod Струна Установите для этого значение StandAlone для управления одними виртуальными машинами или оставьте неопределенным использовать VMSS.
Azure.SingleScaleset Булев Используйте один vmSS для всех узлов (по умолчанию: false).
Azure.SinglePlacementGroup Булев Используйте параметр одной группы размещения для VMSS. (по умолчанию: false)
Azure.Overprovision Булев Используйте функцию Overprovision vmSS. Cyclecloud динамически устанавливается в зависимости от сценария. Это переопределение.
Azure.MaxScaleSetSize Целое число Ограничение количества виртуальных машин в одной виртуальной машине. После достижения этого максимального значения CycleCloud добавит в кластер дополнительные виртуальные машины VMSS. (По умолчанию: "40")
InitialCount Целое число Количество узлов, которые необходимо запустить при запуске кластера.
MaxCount Целое число Чтобы убедиться, что кластер никогда не превышает 10 узлов, необходимо указать значение 10. Обратите внимание, что MaxCount и MaxCoreCount можно использовать вместе, в этом случае более низкое эффективное ограничение вступает в силу.
InitialCoreCount Целое число Число ядер для запуска при запуске кластера.
MaxCoreCount Целое число Чтобы гарантировать, что кластер никогда не превышает 100 ядер, необходимо указать значение 100. Обратите внимание, что MaxCount и MaxCoreCount можно использовать вместе, в этом случае более низкое эффективное ограничение вступает в силу.
ShutdownPolicy Струна Указывает, что делать с виртуальной машиной при завершении работы узла. При завершении работы виртуальной машины виртуальная машина удаляется при завершении работы узла. Если "deallocate" узел остановлен. (по умолчанию: завершение)
ThrottleCapacity Булев Следует ли приостановить запросы в Azure при получении сигнала Insufficient Capacity. (по умолчанию: false)
ThrottleCapacityTime Относительное время Время ожидания после получения сигнала Insufficient Capacity из Azure. AvailableCount будет сообщаться как ноль в течение этого времени. (Значение по умолчанию: "5 м"

Заметка

Все виртуальные машины будут назначены FaultDomainCount = 1

Наследство

Узлы и узлы, которые тесно связаны, могут быть производными от других узлов в том же шаблоне кластера. Эти унаследованные определения минимизирует объявления, необходимые для совместного использования общих атрибутов. Обычно используется раздел [[node defaults]], который является специальным абстрактным определением, которое применяется ко всем узлам и узлам в кластере.

Атрибут Струна Определение
Абстрактный Булев Если значение true, не создайте узел или узел в кластере. Абстракт можно использовать для наследования. (по умолчанию: false)
Расширяет Строка (список) Упорядоченный список унаследованных имен узлов или nodearray. Элементы позже в списке имеют приоритет при конфликте значений. Узел по умолчанию всегда будет первым в списке. (по умолчанию: [])

Подчиненные объекты

Объекты node/nodearray имеют тома, сетевого интерфейса, cluster-init, входной конечной точкии конфигураци и в качестве подчиненных объектов.