Настройка образа Angie ADC с помощью cloud-init#

Ниже описан процесс настройки образа Angie ADC с помощью системы автоматической инициализации cloud-init. Для настройки необходимо подготовить конфигурационные файлы, собрать ISO-образ и подключить его к виртуальной машине при первом запуске.

Настройка образа Angie ADC#

Чтобы настроить образ Angie ADC с помощью cloud-init, выполните следующие действия:

  1. Создайте файл meta-data и укажите в нем базовую информацию о виртуальной машине Angie ADC.

    Пример:

    instance-id: my-adc1       # уникальный идентификатор виртуальной машины
    local-hostname: my-server  # имя хоста виртуальной машины
    
  2. Создайте файл network-config и задайте в нем конфигурацию сети. Примеры для разных типов виртуализации смотрите ниже.

    Если вы используете DHCP, то файл network-config можно оставить пустым. Для всех интерфейсов будет применен автоматический способ получения адреса.

  3. Создайте файл user-data. Его содержимое будет игнорироваться, поэтому можно оставить его пустым.

  4. Проверьте конфигурацию для каждого файла:

    cloud-init schema --config-file <файл>
    

    Если конфигурация корректна, в выводе отобразится сообщение Valid schema <файл>.

  5. Создайте ISO-образ, который cloud-init будет использовать при первом запуске:

    genisoimage -output seed.iso -volid cidata -joliet -rock meta-data user-data network-config
    
  6. Запустите виртуальную машину. Диск с конфигурацией seed.iso необходимо подключить как CD-ROM при запуске виртуальной машины. Пример команды для запуска виртуальной машины с использованием virt-install:

    virt-install \
      --virt-type kvm \
      --name adc \
      --ram 2048 \
      --vcpus 2 \
      --disk angie-adc-0.3.3-x86_64.cloud-init.qcow2,format=qcow2 \
      --disk seed.iso,device=cdrom \
      --network=bridge:virbr0 \
      --network=bridge:virbr0 \
      --graphics vnc,listen=0.0.0.0 \
      --os-variant=centos8 \
      --import
    

    После успешного запуска и применения конфигурации файл seed.iso можно отключить. Он требуется только при первом запуске.

Примеры настройки файла network-config (образ OVA)#

Сетевой драйвер E1000#

Статические адреса настраиваются на интерфейсах от 1 до 3. Имена интерфейсов будут следующие: ens33, ens37, ens38.

Пример:

#cloud-config
network:
  version: 2
  ethernets:
    ens33:
      dhcp4: false
      addresses:
        - 192.168.100.155/24
      gateway4: 192.168.100.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
        search: [example.com]
    ens37:
      dhcp4: false
      addresses:
        - 192.168.110.155/24
      gateway4: 192.168.110.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
        search: [example.com]
    ens38:
      dhcp4: false
      addresses:
        - 192.168.120.155/24
      gateway4: 192.168.120.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
        search: [example.com]

Сетевой драйвер VMXNET#

Статические адреса настраиваются на интерфейсах от 1 до 3. Имена интерфейсов будут следующие: ens160, ens192, ens224.

Пример:

#cloud-config
network:
  version: 2
  ethernets:
    ens160:
      dhcp4: false
      addresses:
        - 192.168.100.155/24
      gateway4: 192.168.100.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
        search: [example.com]
    ens192:
      dhcp4: false
      addresses:
        - 192.168.110.155/24
      gateway4: 192.168.110.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
        search: [example.com]
    ens224:
      dhcp4: false
      addresses:
        - 192.168.120.155/24
      gateway4: 192.168.120.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
        search: [example.com]

Пример настройки файла network-config (образ qcow2)#

Статические адреса настраиваются на интерфейсах от 1 до 3. Имена интерфейсов будут следующие: enp1s0, enp2s0, enp3s0.

Пример:

#cloud-config
network:
  version: 2
  ethernets:
    enp1s0:
      dhcp4: false
      addresses:
        - 192.168.100.155/24
      gateway4: 192.168.100.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
        search: [example.com]
    enp2s0:
      dhcp4: false
      addresses:
        - 192.168.110.155/24
      gateway4: 192.168.110.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
        search: [example.com]
    enp3s0:
      dhcp4: false
      addresses:
        - 192.168.120.155/24
      gateway4: 192.168.120.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
        search: [example.com]