Список необходимых ресурсов VCD

  • Organization
  • VirtualDataCenter
  • vApp
  • StoragePolicy
  • SizingPolicy
  • Network
  • EdgeRouter
  • Catalog

Organization, VirtualDataCenter, StoragePolicy, SizingPolicy, EdgeRouter и Catalog должны быть предоставлены вашим поставщиком услуг VMware Cloud Director. Также в тенанте нужно выдать следующие права на изменение параметров ВМ (используйте инструкцию):

  • guestinfo.metadata
  • guestinfo.metadata.encoding
  • guestinfo.userdata
  • guestinfo.userdata.encoding
  • disk.enableUUID
  • guestinfo.hostname

Network (внутренняя сеть) может быть настроена вашим поставщиком услуг VMware Cloud Director, либо вы можете настроить ее самостоятельно. Далее рассматривается настройка внутренней сети самостоятельно.

Добавление сети

Перейдите во вкладку Networking и нажмите на кнопку NEW:

Добавление сети, шаг 1

Выберите необходимый Data Center:

Добавление сети, шаг 2

Network type должен быть Routed:

Добавление сети, шаг 3

Присоедините EdgeRouter к сети:

Добавление сети, шаг 4

Установите имя сети и CIDR:

Добавление сети, шаг 5

Не добавляйте Static IP Pools, т.к. будет использоваться DHCP:

Добавление сети, шаг 6

Укажите адреса DNS-серверов:

Добавление сети, шаг 7

Настройка DHCP

Для динамического заказа узлов необходимо включить DHCP-сервер для внутренней сети.

Рекомендуем выделить начало диапазона адресов сети на системные нагрузки (control plane, frontend-узлы, системные узлы), а остальное выделить на DHCP-пул. Например, для сети по маске /24 будет достаточно выделения 20 адресов под системные нагрузки.

Перейдите во вкладку Networking и откройте созданную сеть:

DHCP, шаг 1

В открытом окне откройте вкладку IP Management -> DHCP -> Activate:

DHCP, шаг 2

Во вкладке General settings настройте параметры аналогично примеру:

DHCP, шаг 3

Добавьте пул:

DHCP, шаг 3

Установите адреса DNS-серверов:

DHCP, шаг 3

Добавление vApp

Перейдите во вкладку Data Centers -> vApps -> NEW -> New vApp:

Добавление vApp, шаг 1

Установите имя и включите vApp:

Добавление vApp, шаг 2

Добавление сети к vApp

После создания vApp, необходимо присоединить к ней созданную внутреннюю сеть.

Перейдите во вкладку Data Centers -> vApps, откройте необходимый vApp:

Добавление сети к vApp, шаг 1

Перейдите во вкладку Networks и нажмите на кнопку NEW:

Добавление сети к vApp, шаг 2

В появившемся окне выберите тип Direct и выберите сеть:

Добавление сети к vApp, шаг 3

Входящий трафик

Входящий трафик необходимо направить на edge router (порты 80, 443) при помощи правил DNAT на выделенный адрес во внутренней сети. Этот адрес поднимается при помощи MetalLB в L2 режиме на выделенных frontend-узлах.

Настройка правила DNAT на edge gateway

Перейдите во вкладку Networking -> Edge Gateways, откройте edge gateway:

Настройка правил DNAT на edge gateway, шаг 1

Перейдите во вкладку Services -> NAT:

Настройка правил DNAT на edge gateway, шаг 2

Добавьте следующие правила:

Настройка правил DNAT на edge gateway, шаг 3

Первые два правила используются для входящего трафика, а третье — для доступа по SSH к узлу с control plane (без этого правила установка будет невозможна).

Настройка firewall

После настройки DNAT необходимо настроить firewall. Сначала необходимо настроить наборы IP-адресов (IP sets).

Перейдите во вкладку Security -> IP Sets:

Настройка firewall на edge gateway, шаг 1

Создайте следующий набор IP (тут подразумевается, что адрес MetalLB будет .10 а адрес узла с control plane — .2):

Настройка firewall на edge gateway, шаг 1

Настройка firewall на edge gateway, шаг 1

Настройка firewall на edge gateway, шаг 1

Добавьте следующие правила firewall:

Настройка firewall на edge gateway, шаг 1

Шаблон виртуальной машины

Работоспособность провайдера подтверждена только для шаблонов виртуальных машин на базе Ubuntu 22.04.

На виртуальных машинах должен быть установлен пакет cloud-init. После запуска виртуальной машины должны быть запущены следующие службы, связанные с этим пакетом:

  • cloud-config.service;
  • cloud-final.service;
  • cloud-init.service.

В примере используется OVA-файл, предоставляемый Ubuntu, с двумя исправлениями. Исправления необходимы для корректного заказа CloudPermanent-узлов и для возможности подключать диски, созданные CSI.

Подготовка шаблона из OVA-файла

Скачайте OVA-файл:

Настройка шаблона, шаг 1

Перейдите на вкладку Libraries -> Catalogs -> Каталог организации:

Настройка шаблона, шаг 2

Выберите скаченный шаблон и загрузите его в каталог:

Настройка шаблона, шаг 3

Настройка шаблона, шаг 4

Настройка шаблона, шаг 5

Создайте виртуальную машину из шаблона:

Настройка шаблона, шаг 6

Настройка шаблона, шаг 7

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

Настройка шаблона, шаг 8

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

  1. Запустите виртуальную машину
  2. Дождитесь получение IP-адреса
  3. Пробросьте порт 22 до виртуальной машины:

Настройка шаблона, шаг 9

Войдите на виртуальную машину по SSH и выполните следующие команды:

echo -e '\n[deployPkg]\nwait-cloudinit-timeout=1800\n' >> /etc/vmware-tools/tools.conf
passwd -d ubuntu
passwd -d root
rm /home/ubuntu/.ssh/authorized_keys
history -c
shutdown -P now

Выключите виртуальную машину и создайте шаблон виртуальной машины:

Настройка шаблона, шаг 10

Настройка шаблона, шаг 11

После создания шаблона виртуальной машины, обратитесь к поставщику услуг VMware Cloud Director с просьбой включить для шаблона параметр disk.enableUUID.

Использование хранилища

  • VCD поддерживает CSI, диски создаются как VCD Independent Disks.
  • Guest property disk.EnableUUID должно быть разрешено для используемых шаблонов виртуальных машин.
  • Deckhouse Kubernetes Platform поддерживает изменение размера дисков с версии v1.59.1.