Вы можете автоматизировать процесс установки платформы с помощью системы управления конфигурациями Ansible. Для работы Ansible использует сценарии (playbook) — yaml-файлы, описывающие набор действий для выполнения. Подробнее об Ansible см. в официальной документации.

Использование сценариев Ansible позволяет автоматически:

Если на сервере был установлен VMmanager, перед установкой cценарий Ansible удалит платформу.

Подготовка


  1. Проверьте сервер платформы на соответствие системным требованиям. Подробнее см. в статье Требования к серверу.
  2. Установите Ansible на ПК, с которого будет запускаться установка платформы. Порядок установки см. в официальной документации Ansible

    Работа сценариев установки протестирована с Ansible версий 2.9 и 2.12.

  3. На ПК с Ansible:
    1. Скачайте сценарии установки: 

      wget https://download.ispsystem.com/extras/ansible/vmmanager6_common.tar.gz
      CODE
    2. Создайте SSH-ключ и скопируйте его на сервер платформы. Подробнее см. в статье SSH-протокол.

Установка платформы


На ПК с Ansible:

  1. Создайте директорию для сценариев установки: 

    mkdir vm6_ansible
    CODE
  2. Распакуйте в директорию архив со сценариями: 

    tar xzf vmmanager6_common.tar.gz -C vm6_ansible/
    CODE
  3. Перейдите в созданную директорию:

    cd vm6_ansible
    CODE
  4. Укажите параметры установки в секции vars файла vmmanager6.yml

    Пример настроек

      vars:
        vmi_first_username: "admin@example.com"
        vmi_first_password: "secret"
        vmmanager6_license_token: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    	vmi_stage: "beta"
        vmi_domain: "{{ ansible_ssh_host }}"
        vmi_network: "192.168.0.0/24"
        vmi_network_gateway: "192.168.0.1"
        vmi_network_note: "Network for my VMs"
        vmi_pool_name: "Pool 1"
        vmi_pool_note: "Pool for my VMs"
        vmi_cluster_name: "Cluster 1"
        vmi_cluster_note: "Cluster for my VMs"
        vmi_time_zone: "UTC" 
        vmi_domain_template: ".example.com"
        vmi_node_check_ip: "1.1.1.1"
        vmi_certificate: "-----BEGIN CERTIFICATE-----\nMIIDkTC..............AlS\nldgeq7s=\n-----END CERTIFICATE-----\n"
        vmi_certificate_key: "-----BEGIN PRIVATE KEY-----\nMIIEvg...............XO6HBlXDeTd\n-----END PRIVATE KEY-----\n"
        vmi_certificate_ca: ""
        vmi_backup_ip: "10.3.0.4"
        vmi_backup_user: "root"
        vmi_backup_password: "secret123"
        vmi_backup_path: "/backup"
    
    CODE
    • данные для установки:
      • vmi_first_username — email первого администратора платформы;
      • vmi_first_password — пароль первого администратора платформы;
      • vmmanager6_license_token — токен лицензии VMmanager;
      • vmi_stage — версия платформы. Укажите значение beta.
    • настройки кластера:
      • vmi_domain — IP-адрес или доменное имя сервера платформы. Вы можете использовать переменную ansible_ssh_host;
      • vmi_network — физическая сеть для ВМ в формате адрес сети/префикс;
      • vmi_network_gateway — шлюз физической сети;
      • vmi_network_note — примечание к физической сети;
      • vmi_pool_name — название пула IP-адресов для ВМ;
      • vmi_pool_note — примечание к пулу;
      • vmi_cluster_name — название кластера;
      • vmi_cluster_note — примечание к кластеру;
      • vmi_time_zone — часовой пояс для узлов кластера и ВМ, используемый по умолчанию;
      • vmi_domain_template — шаблон доменных имён для ВМ. Например, если вы укажете ".example.com", то ВМ будут создаваться с доменными именами вида <название_ВМ>.example.com;
      • vmi_node_check_ip — IP-адрес для проверки сетевых настроек. Если связь с этим адресом будет потеряна после изменения настроек, то VMmanager вернёт предыдущие настройки;
    • настройки SSL-сертификата:
      • vmi_certificate — открытый ключ SSL-сертификата;
      • vmi_certificate_key — приватный ключ SSL-сертификата;
      • vmi_certificate_ca — корневой SSL-сертификат;
    • настройки резервного копирования платформы:
      • vmi_backup_ip — IP-адрес внешнего хранилища для резервного копирования платформы;
      • vmi_backup_user — имя пользователя для подключения к внешнему хранилищу;
      • vmi_backup_password — пароль пользователя для подключения к внешнему хранилищу;
      • vmi_backup_path — путь к резервным копиям на внешнем хранилище. Укажите существующую директорию, для которой у пользователя есть права на запись.

  5. Если вы не планируете подключать SSL-сертификат, удалите или закомментируйте в файле vmmanager6.yml строку 

        - include_tasks: cert.yml
    CODE
  6. Если вы не планируете настраивать резервное копирование платформы, удалите или закомментируйте в файле vmmanager6.yml строку 

        - include_tasks: backup.yml
    CODE
  7. Запустите установку: 

    ansible-playbook -i <IP>, -u root vmmanager6.yml
    CODE

    <IP> — IP-адрес сервера платформы. Наличие запятой после адреса обязательно.

  8. Дождитесь окончания установки.

После установки платформа VMmanager будет доступна по IP-адресу или доменному имени вашего сервера.