Перейти к содержанию

Конфигурирование Нимбиус

Настоящая инструкция предназначена для администраторов, выполняющих первичную настройку инфраструктурной платформы для создания и управления виртуальными облаками.

Настройка серверных ролей EVM

EVM (Extensible Virtualization Manager) — это компонент платформы, который управляет виртуальными ресурсами и автоматизацией процессов.
Шаги:

  1. Перейдите в раздел бокового меню Settings → Application Settings.
  2. Откройте вкладку Settings.
  3. Найдите текущий EVM сервер (отмечен как current).
  4. Проверьте, что переключатели EVM-ролей установлены согласно требованиям платформы.

evmroles

Настройка количества воркеров для обработки заказов

Воркеры (Workers) — это процессы, выполняющие заказы на разворачивание сервисов. Чем больше воркеров, тем больше параллельных заказов можно обработать.
Шаги:

  1. Перейдите в раздел бокового меню Settings → Application Settings.
  2. Найдите текущий EVM сервер (current).
  3. Перейдите во вкладку Workers.
  4. В блоке Generic Workers установите необходимое количество воркеров в поле Count. (Обычно 5)

workers

Включение отображения использования ресурсов

Эта настройка позволяет отслеживать использование ресурсов в системе.
Шаги:

  1. Перейдите в раздел меню Settings → Application Settings → Settings.
  2. Найдите корневой Nimbius region.
  3. Откройте вкладку C & U Collection.
  4. Включите отображение сбора данных о ресурсах.

setlogs

Добавление провайдеров инфраструктуры

Провайдеры инфраструктуры (Infrastructure Providers) представляют собой интеграции с различными платформами виртуализации, такими как VMware, oVirt, SpaceVM и др.
Шаги:

  1. Перейдите в раздел бокового меню Compute → Infrastructure → Providers.
  2. Нажмите Configuration → Add a New Infrastructure Provider.
  3. Заполните форму для каждого провайдера:
    • v-01.cloud.lab (VMware vCenter)

      • Type:
      • Name:
      • Zone:
      • Hostname:
      • API Port:
      • SSL verification:
      • Username и Password

addNewProvider
addingNewProvider

Настройка Embedded Ansible

Embedded Ansible используется для автоматизированного управления конфигурациями и разворачивания сервисов.
Шаги:

  1. Перейдите в раздел бокового меню Automation → Embedded Ansible → Credentials.
  2. Добавьте учетные данные Configuration → Add New Credential:

    • for_git (SCM, Username и Password) <
    • user_ssh (Machine, Username и Password, Privilege Escalation: sudo)

addNewCred addingNewCred1 addingNewCred2 3. Перейдите в Automation → Embedded Ansible → Repositories.
4. Добавьте репозиторий Configuration → Add New Repository:

  • Name: nimbius embedded-ansible-roles
  • URL: Git-репозиторий с ansible-ролями
  • SCM Credentials: for_git
  • SCM Branch:


5. Проверьте, что в Automation → Embedded Ansible → Playbooks появились плейбуки.

addNewRepo addingNewRepo playbooks

Настройка размещения виртуальных машин

Шаги:

  1. Выберите в боковом меню раздел Automation -> Embedded Automate -> Explorer.
  2. Выберите корневой домен и создайте в нем локальный домен, нажав Configuration -> Add a New Domain
  3. Укажите имя и описание локального домена и проставьте признак Enabled

addNewDomain addingNewDomain


4. Выберите стандартный домен автоматизации Нимбиус NIMBIUS_CONFIG
5. Перейдите в конфигурацию механизма размещения виртуальных машин по пути NIMBIUS_CONFIG/StdLib/Settings/nimbius_placement_settings и скопируйте его в локальный домен, созданный на предыдущем шаге Configuration -> Copy this Method. Укажите признак Copy to same path

copymethod


6. Выберите скопированную конфигурацию nimbius_placement_settings и отредактируйте Ниже приводится шаблон-пример конфигурации размещения и таблица с описанием параметров.
editPlacement

## Notes:
### 1. Only consider DRS cluster must be described in configuration file. 
class PlacementSettings

    def locations
        locations = {
               "zvengine.lab.local" => {
               "type" => "ovirt",
               "endpoint" => "zvengine.lab.local",
               "description" => "zVirt Location",
               "cust_spec_linux" => "Linux VM",
               "cust_spec_windows" => "Windows_customization"
           },
         }
        return locations
    end

    def domains       
        domains = {
               "cloud.lab" => {
               "domain_name" => "имя домена",
               "custom_ou" => "OU=Tenants,OU=Servers,OU=Cloud",
               "pshost" => "powershell Host",
               "domain_controller" => "имя Domain controller ",
               "dns_suffix" => "DNS suffix",
               "dns_servers" => ["DNS servers"],
               "organization"  => "название организации",
               "timezone"  => "145",
                "full_name"  => "полное название организации"
           }
        }
        return domains
    end

    def networks
        networks = {
          "Double-vlan123" => {
                "addr_mode" => "static",
                "ipam" => "netbox",
                "vlan_id" => 123,
                "dvs" => "true"
            },
        }
        return networks
    end

    def environments
        environments = {    
           "vmware" => {
               "placement" => {
                   "abc.cloud.lab" => {
                      "placement_folder_name" => [
                           "Datacenter/vms/123"
                       ]
                   }
               },
               "domain" => "cloud.lab",
               "tags" => [
                   "department/support"
               ],
               "description" => "VMWare 1"
           },
        }
        return environments
    end

end

Описание классов и значений nimbius_placement_settings

Класс Пример заполнения Описание
locations "cloud_lab_dc01" => {
"type" => "vmware",
"endpoint" => "vc.cloud.lab",
"description" => "VC01 Cloud Lab",
"cust_spec_linux" => "centos",
"cust_spec_windows" => "windows"
}
Площадки (расположения) – соответствует географическому расположению в секции «environments». Каждый endpoint – это кластер виртуализации. Имя должно соответствовать имени логической сущности в подключенных провайдерах.
networks networks = {
"206-VLAN" => {
  "addr_mode" => "dhcp"
}
}
Конфигурация сетей (имена сетей должны совпадать с именами в секции networks в описании окружения, а также с именами портгрупп в платформе виртуализации).
Networks (environments) "dvs" => "true" Указывается, если vCenter настроен с dvswitch.
placement_rp_name (environments) "placement_rp_name" => ["ResPool01"] Указывается, если vCenter настроен с resource pool.
placement_folder_name (environments) "placement_folder_name" => [
"datacenter02/CLU01/ResPool01/cloudlab/vms"
]
Указывается полный путь до конечной папки размещения.
domain (environments) "domain" => "cloud.lab", DNS-суффикс для имени ВМ.
tags (environments) "tags" => [
"department/development"
],
Тэги, которые должны быть проставлены на сервисе ВМ (нужно предварительно создать в платформе Нимбиус).
clusters (environments) "clusters" => [
"HA-Cloudlab-CL1",
"HA-Cloudlab-CL2"
]
Кластеры виртуализации на данной площадке.

Настройка автоматического именования виртуальных машин

Шаги:

  1. Выберите в боковом меню раздел Automation -> Embedded Automate -> Explorer.
  2. Выберите домен автоматизации Нимбиус NIMBIUS_CONFIG
  3. Перейдите в конфигурацию механизма автоматического именования виртуальных машин NIMBIUS_CONFIG/StdLib/Settings/nimbius_vmname_settings
    Ниже приводится шаблон-пример конфигурации автоматического именования виртуальных машин
NAMING_TEMPLATE = {
    1 => {
        "type"      => "text",
        "value"     => "vm"
    },
    2 => {
        "type"      => "platform"
    },
    3 => {
        "type"      => "tag_short",
        "category"  => "location"
    },
    4 => {
        "type"      => "tag_short",
        "category"  => "environment"
    },
    5 => {
        "type"      => "text",
        "value"     => "s"
    },
    6 => {
        "type"      => "index",
        "length"    => 5
    }
}.freeze


Конфигурация задана в виде объекта типа «словарь». Каждый элемент словаря - это часть имени ВМ. Ключом задается порядок компонента в имени, а значением - тип и конфигурация компонента.

Пример генерации имени ВМ

  • Постоянный текст - vm
  • Платформа (w - windows, l - linux) - w    
  • Тег "location" - d01    
  • Первая буква тега "environment" - t    
  • Постоянный текст - s    
  • Индекс - 0001 Результирующее имя: vmwd01ts0001

Настройка доступных конфигураций виртуальных машин

Шаги:

  1. Выберите в боковом меню раздел Automation -> Embedded Automate -> Explorer.
  2. Выберите домен автоматизации Нимбиус NIMBIUS_CONFIG
  3. Перейдите в конфигурацию NIMBIUS_CONFIG/Common/FlavorConfig/flavorconfig и добавьте данные по каждому типу ВМ
    Ниже приводится шаблон-словарь конфигурации
{
    cpu_flavor: 'DESCRIPTION',
    number_of_sockets: SOCKETS_NUM,
    cores_per_socket: CORES_NUM
}


Настройка интеграции с IPAM Netbox для автоматической резервации и освобождения IP-адресов

Общая информация

Если в целевом контуре присутствует ipam netbox, администратор может подключить его в Нимбиус для автоматизации выделения свободных адресов в подсети и их автоматической фиксации в БД ipam.

Логическая схема взаимодействия с ipam:

  1. Система обращается в ipam в конкретную сущность «vlan», указанный в «nimbius_placement_settings»;
  2. В необходимом «vlan» ищется сущность «Prefix IP»;
  3. В «Prefix IP» забирается IP адрес из поля «First available address»;
  4. Платформа фиксирует адрес за ВМ, назначая ей dns имя, созданное при создании ВМ;
  5. IP адрес из поля «First available address» подставляется в процесс создания ВМ.

При отзыве услуги с развёрнутой ВМ, машина удаляется, а адрес освобождается в системе netbox.

Подготовка пользователя в IPAM NetBox

Для подключения ipam в Нимбиус необходимо заранее подготовить пользователя/группу со следующими правами:

Рисунок 27

Перечень прав пользователя/группы

Object permission Object types Action
All_View prefix, tag, VLAN group, VLAN, permission,
device, rack, device type, IP address
View
IP_change_delete IP address, tag View, Add, Change, Delete
Prefix_change_add prefix View, Add, Change
Tenant_change_add tenant, tenant group View, Add, Change

Подключение к платформе

Шаги:

  1. Выберите в боковом меню раздел Automation -> Embedded Automate -> Explorer.
  2. Выберите домен автоматизации Нимбиус NIMBIUS_VM
  3. Перейдите по пути Integration -> ActiveDirectory -> WinrmMethods
  4. Выберите по очереди конфигурации AddDnsRecord, RemoveAdRecord, RemoveDnsRecord и скопируйте их в локальный домен с иерархией вложенности
  5. Перейдите в локальный домен и настройте скопированные конфигурации, указав endpoint, user, password

Настройка плейбуков Ansible

Шаги:

  1. Выберите в боковом меню раздел Automation -> Embedded Automate -> Explorer.
  2. Выберите домен автоматизации Нимбиус NIMBIUS_VM
  3. Перейдите по пути Integration -> ActiveDirectory -> PlaybooksMethods
  4. Выберите конфигурацию JoinDomain и скопируйте ее в локальный репозиторий с иерархией вложенности
  5. Перейдите в локальный домен и настройте скопированную конфигурацию, указав Repository, Playbook, Machine Credential, domain_admin_user, domain_admin_password

Настройка биллинга

Шаги:

  1. Выберите в боковом меню раздел Automation -> Embedded Automate -> Explorer.
  2. Выберите домен автоматизации Нимбиус NIMBIUS_VM
  3. Перейдите по пути Integration -> Billing-> Billing
  4. Выберите конфигурации sync, sync_price_orders и скопируйте их в локальный репозиторий с иерархией вложенности
  5. Перейдите в локальный домен и настройте скопированные конфигурацию, указав url биллинга

Интеграция со службой электронной почты

Для информирования пользователей с помощью отправки электронных писем необходимо определить параметры SMTP сервера в «Settings -> Application Settings -> Setting», выбрав зону и сервер.

Основные параметры раздела «Outgoing SMTP E-mail Server»:

  • Host - сервер;
  • Port - порт, который использует сервер;
  • Domain - домен, в котором расположен сервер;
  • SSl Verify Mode - режимы верификации;
  • Authentication - режимы аутентификации.

Рисунок 32