Список необходимых ресурсов VCD
- Organization
- VirtualDataCenter
- vApp
- StoragePolicy
- SizingPolicy
- Network
- EdgeRouter
- Catalog
Ресурсы Organization, VirtualDataCenter, StoragePolicy, SizingPolicy, EdgeRouter и Catalog должны быть предоставлены вашим поставщиком услуг VMware Cloud Director.
Network (внутренняя сеть) может быть настроена вашим поставщиком услуг VMware Cloud Director, либо вы можете настроить ее самостоятельно. Далее рассматривается настройка внутренней сети самостоятельно.
Права пользователя
Пользователь, под которым будет осуществляться доступ к API VMware Cloud Director, должен иметь следующие права:
- роль
Organization Administrator
с дополнительным правиломPreserve All ExtraConfig Elements During OVF Import and Export
; - правило
Preserve All ExtraConfig Elements During OVF Import and Export
должно быть продублировано в используемомRight Bundle
пользователя.
Добавление сети
-
Перейдите на вкладку Networking и нажмите NEW:
-
Выберите необходимый Data Center:
-
На этапе Network type выберите Routed:
-
Присоедините
EdgeRouter
к сети: -
Укажите имя сети и CIDR:
-
Не добавляйте Static IP Pools, поскольку будет использоваться DHCP:
-
Укажите адреса DNS-серверов:
Настройка DHCP
Для динамического заказа узлов включите DHCP-сервер для внутренней сети.
Рекомендуем выделить начало диапазона адресов сети на системные нагрузки (control plane, frontend-узлы, системные узлы), а остальное выделить на DHCP-пул. Например, для сети по маске /24
будет достаточно выделения 20 адресов под системные нагрузки.
-
Перейдите на вкладку Networking и откройте созданную сеть:
-
В открывшемся окне выберите пункт IP Management -> DHCP -> Activate:
-
На вкладке General settings настройте параметры аналогично примеру:
-
Добавьте пул:
-
Укажите адреса DNS-серверов:
Добавление vApp
-
Перейдите на вкладку Data Centers -> vApps -> NEW -> New vApp:
-
Укажите имя и включите vApp:
Добавление сети к vApp
После создания vApp присоедините к ней созданную внутреннюю сеть.
-
Перейдите на вкладку Data Centers -> vApps и откройте необходимый vApp:
-
Перейдите на вкладку Networks и нажмите NEW:
-
В появившемся окне выберите тип Direct и выберите сеть:
Входящий трафик
Входящий трафик необходимо направить на edge router (порты 80
, 443
) при помощи правил DNAT на выделенный адрес во внутренней сети.
Этот адрес поднимается при помощи MetalLB в L2-режиме на выделенных frontend-узлах.
Настройка правил DNAT/SNAT на edge gateway
-
Перейдите на вкладку Networking -> Edge Gateways, откройте edge gateway:
-
Перейдите на вкладку Services -> NAT:
-
Добавьте следующие правила:
Первые два правила используются для входящего трафика, а третье — для доступа по SSH к узлу с control plane (без этого правила установка будет невозможна).
-
Чтобы виртуальные машины могли выходить в интернет, настройте правила SNAT, следуя примеру:
Данное правило позволит виртуальным машинам из подсети
192.168.199.0/24
выходить в интернет.
Настройка firewall
После настройки DNAT настройте firewall. Сначала необходимо настроить наборы IP-адресов (IP sets).
-
Перейдите на вкладку Security -> IP Sets:
-
Создайте следующий набор IP (подразумевается, что адрес MetalLB будет
.10
а адрес узла с control plane —.2
): -
Добавьте следующие правила firewall:
Шаблон виртуальной машины
Работоспособность провайдера подтверждена только для шаблонов виртуальных машин на базе Ubuntu 22.04.
На виртуальных машинах должен быть установлен пакет cloud-init
.
После запуска виртуальной машины должны быть запущены следующие службы, связанные с этим пакетом:
cloud-config.service
;cloud-final.service
;cloud-init.service
.
В примере используется OVA-файл, предоставляемый Ubuntu, с двумя исправлениями. Исправления необходимы для корректного заказа CloudPermanent-узлов и для возможности подключать диски, созданные CSI.
Подготовка шаблона из OVA-файла
-
Скачайте OVA-файл:
-
Перейдите на вкладку Libraries -> Catalogs -> Каталог организации:
-
Выберите скачанный шаблон и загрузите его в каталог:
-
Создайте виртуальную машину из шаблона:
Укажите пароль по умолчанию и публичный ключ. Они понадобятся, чтобы войти в консоль виртуальной машины.
Для подключения к виртуальной машине выполните следующие шаги:
- Запустите виртуальную машину.
- Дождитесь получение IP-адреса.
-
Пробросьте порт
22
до виртуальной машины:
Войдите на виртуальную машину по SSH и выполните следующие команды:
rm /etc/netplan/99-netcfg-vmware.yaml
echo -e '\n[deployPkg]\nwait-cloudinit-timeout=1800\n' >> /etc/vmware-tools/tools.conf
echo 'disable_vmware_customization: true' > /etc/cloud/cloud.cfg.d/91_vmware_cust.cfg
dpkg-reconfigure cloud-init
В появившемся диалоговом окне оставьте галочку только у OVF: Reads data from OVF transports
. Остальные пункты отключите:
Выполните оставшиеся команды:
truncate -s 0 /etc/machine-id
rm /var/lib/dbus/machine-id
ln -s /etc/machine-id /var/lib/dbus/machine-id
cloud-init clean --logs --seed
passwd -d ubuntu
passwd -d root
rm /home/ubuntu/.ssh/authorized_keys
history -c
shutdown -P now
Настройка шаблона в VCD
-
Выключите виртуальную машину и удалите все заполненные поля Guest Properties:
-
Cоздайте шаблон виртуальной машины:
-
В созданном шаблоне перейдите на вкладку Metadata и добавьте шесть полей:
guestinfo.metadata
;guestinfo.metadata.encoding
;guestinfo.userdata
;guestinfo.userdata.encoding
;disk.enableUUID
;guestinfo.hostname
.
-
В панели управления vCenter для шаблона включите параметр
disk.EnableUUID
:
Использование хранилища
- VCD поддерживает CSI. Диски создаются как VCD Independent Disks.
- Guest property
disk.EnableUUID
должно быть разрешено для используемых шаблонов виртуальных машин. - Deckhouse Kubernetes Platform поддерживает изменение размера дисков с версии v1.59.1.