Конфигурация сети узла

Узел кластера Azure CycleCloud поставляется с параметрами по умолчанию для сети. Эти параметры можно изменить в разделе определения узла шаблона кластера.

Сетевые интерфейсы

Когда Azure CycleCloud создает виртуальную машину Azure для кластера, она подключает к виртуальной машине интерфейс виртуальной сети. Для масштабируемых наборов виртуальных машин интерфейс виртуальной сети подключается к подсистеме балансировки нагрузки.

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

Назначение общедоступных IP-адресов

Добавьте атрибут к AssociatePublicIpAddress узлу, чтобы указать, должен ли узел получать общедоступный IP-адрес. Рассмотрим пример.

[[node scheduler]]
[[[network-interface eth0]]]
    AssociatePublicIpAddress = true

Предыдущая конфигурация разрешает общедоступный доступ к узлу планировщика на портах, которые разрешает группа безопасности сети для виртуальной сети.

По умолчанию узел получает динамический общедоступный IP-адрес, который изменяется при каждом запуске кластера. Чтобы назначить статический общедоступный IP-адрес узлу, сначала создайте общедоступный IP-адрес в подписке Azure. Затем добавьте атрибут в PublicIP раздел сетевого интерфейса узла и назначьте ему идентификатор ресурса для созданного объекта PublicIP.

[[node scheduler]]
[[[network-interface eth0]]]
    PublicIp = /subscriptions/${subscription_id/resourceGroups/${resource_group_name}/providers/Microsoft.Network/publicIPAddresses/${public-ip-name}

Кроме того, создайте сетевой интерфейс в подписке Azure и подключите общедоступный IP-адрес к этому сетевому интерфейсу. Затем укажите идентификатор сетевого интерфейса в конфигурации узла:

[[node scheduler]]
[[[network-interface eth0]]]
    NetworkInterfaceId = /subscriptions/${subscription_id/resourceGroups/${resource_group_name}/providers/Microsoft.Network/networkInterfaces/${network-interface-name}

Назначение общедоступной метки DNS

Добавление PublicDnsLabel в общедоступный сетевой интерфейс позволяет настроить DNS-имя для этого IP-адреса.

[[node scheduler]]
[[network-interface eth0]]
    AssociatePublicIpAddress = true
    PublicDnsLabel = myuniquename

Предыдущая конфигурация предоставляет статически назначенный общедоступный IP-адрес и запись DNS для виртуальной машины, которая сопоставляется с myuniquename.eastus.cloudapp.azure.com (где eastus соответствует соответствующему расположению Azure для виртуальной машины).

Назначение частного IP-адреса

По умолчанию виртуальные машины получают динамически назначенный частный IP-адрес в Azure. В некоторых случаях для узлов требуются фиксированные частные IP-адреса. Чтобы настроить этот параметр, используйте раздел сетевого интерфейса конфигурации кластера:

[[[network-interface eth0]]]
PrivateIp = x.x.x.x

Указанный частный IP-адрес должен быть допустимым для связанной подсети. Azure резервирует первые четыре и последние IP-адреса в подсети. Эти адреса нельзя назначить узлу вручную.

Группы безопасности сети

Azure CycleCloud подготавливает виртуальные машины и масштабируемые наборы виртуальных машин в виртуальных сетях и подсетях, определяемых пользователем. Группы безопасности сети, связанные с виртуальной сетью, управляют доступом к определенным портам на узлах. Дополнительные сведения см. в документации по виртуальной сети.

Если вы настроите сетевой интерфейс узла с AssociatePublicIpAddress = true или назначите PublicIp, узел автоматически получает сетевую группу безопасности.

Эту группу безопасности сети можно указать с помощью SecurityGroup. Если не указано SecurityGroup, группа безопасности сети автоматически создается из input-endpoints разделов на узле. Указанный вами SecurityGroup для интерфейса переопределяет автоматически созданный NSG для input-endpoints. Если вы не указали SecurityGroup, все интерфейсы получают auto-nsg из определений input-endpoint.

Входные конечные точки в массивах узлов

[[nodearray execute]]
  [[[network-interface eth0]]]
    AssociatePublicIpAddress = true

  [[[input-endpoint SSH]]]
  PrivatePort = 22
  PublicPort = 10000

  [[[input-endpoint MyCustomPort]]]
  PrivatePort = 999
  PublicPort = 10999
  Protocol = tcp

Предыдущая конфигурация обеспечивает общедоступный доступ к узлам выполнения на портах, которые группа безопасности сети разрешает для виртуальной сети. Для массива PublicPort узлов — это базовый номер порта для узлов в массиве. Диапазон портов, зарезервированных для массива узлов, составляет 500 портов для каждой конечной точки. Конечные точки по умолчанию используют протокол TCP, но поддержка UDP также возможна при помощи настройки Protocol = UDP. По умолчанию узел получает динамический общедоступный IP-адрес, который изменяется при каждом запуске кластера. Чтобы назначить статический общедоступный IP-адрес узлу, добавьте PublicIP в конфигурацию сетевого интерфейса для основного интерфейса:

Для возвращаемых прокси-узлов, если не указать AssociatePublicIpAddress, система автоматически создает общедоступный IP-адрес. Если установить для AssociatePublicIpAddressзначение False, узел выдает предупреждение о сбое и автоматическое создание nsg для узла не происходит.

Примечание.

При запуске узла с помощью AssociatePublicIpAddress этот IP-адрес сохраняется до тех пор, пока не будет удалён узел или кластер.