Как я могу сделать OVA, который работает со статическими IP-адресами?

Мы сделали OVA для клиентов, которые используют DHCP, чтобы найти свой IP-адрес. Он использует CoreOS в качестве гостевой операционной системы.

Некоторые клиенты хотели бы иметь возможность использовать статический IP-адрес, настраивая его в VMWare.

Каков наилучший практический способ сделать это?

Является ли единственный способ иметь пользовательский интерфейс на консоли, где человек, развертывающий ключи виртуальной машины в IP-адресе, маске сети, DNS и т. Д.?

Если да, то есть ли в Linux стандартный инструмент для этого или мы должны написать свой собственный?

Или есть какой-то другой способ отправки настроек на гостевую ОС?

1 ответ

Существует возможность передавать информацию в гостевую ОС с помощью OVF/OVA. Функциональность называется OVF Environment или интерфейсом VMware Guestinfo. Я не уверен, что это действительно подходит для вашего случая использования и потребностей.

Среда OVF - это специальный раздел в OVF в ProductSection, где вы можете указать Свойства с помощью пользовательских пар ключ / значение.

Как это:

<ProductSection ovf:required="false">
      <Property ovf:key="my-static-address" ovf:type="string" ovf:userConfigurable="true" ovf:value="10.10.10.10">
          <Label>My static IP address</Label>
          <Description>Message about my static IP address</Description>
      </Property>
      <Property ovf:key="foo" ovf:type="string" ovf:userConfigurable="true" ovf:value="bar">
          <Description>foobar</Description>
      </Property>
</ProductSection>.

Если вы укажете ovf:userConfigurable="true" тогда у пользователя будет свободное текстовое поле во время развертывания, когда он может указать статический IP-адрес, например.

Тогда есть два способа доставить это на саму ВМ. Это называется transport, Это может быть VMware VM Tools или образ ISO, прикрепленный в виде CDROM.

1) В.М. Инструменты транспорта

Инструменты VMware или инструменты Open VMware должны быть установлены в гостевой ОС. Вы должны указать в OVF:<ovf:VirtualHardwareSection ovf:transport="com.vmware.guestInfo">После развертывания вы можете прочитать раздел продукта через vmware-rpc:vmware-rpctool "info-get guestinfo.ovfEnv" который вернет вам раздел продукта в формате XML. Затем вы должны проанализировать этот XML, извлечь ключ / значения и применить конфигурацию (например, статический IP).

2) ISO транспорт

Вы указываете <VirtualHardwareSection ovf:transport="iso"> в ОВФ. Затем платформа Cloud/Virt будет извлекать раздел продукта, помещая его в образ ISO9660 в виде файла. ovf-env.xml и подключите к первому доступному устройству IDE в качестве CDROM. Затем вы можете смонтировать этот CDROM, прочитать файл, проанализировать значения и применить конфигурацию.

Если вы не хотите анализировать значения самостоятельно, вы можете рассмотреть cloud-init В качестве опции внутри гостя можно применить конфигурацию. Существует множество модулей для применения конфигурации IP, ключей SSH или просто для записи и выполнения файлов / команд. http://cloudinit.readthedocs.io/en/latest/topics/datasources/ovf.html Вы упомянули CoreOS, которая поддерживает интерфейс VMware Guestinfo. https://coreos.com/os/docs/latest/booting-on-vmware.html

Другие вопросы по тегам