Объекты 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-cluster
grid
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 имеют