Cumulus Networks ML2 драйвер

В данном разделе расположено руководство по установке программного модуля в операционную систему устройств доступа к сетям передачи данных, под управлением сетевой операционной системы Cumulus Linux, для обеспечения функций по управлению сетевой инфраструктурой.

Описание ML2

Драйвер Modular Layer 2 (ML2) - это инфраструктура, которая позволяет OpenStack Networking использовать множество сетевых технологий 2 уровня, не зависящих от поставщика. ML2 упрощает добавление поддержки новых сетевых технологий 2 уровня и обеспечивает динамическое предоставление VLAN/VXLAN на коммутаторах в среде OpenStack вместо того, чтобы вручную обеспечивать подключение 2 уровня для каждой виртуальной машины.

Плагин поддерживает кеширование конфигурации. Кешированная конфигурация воспроизводится на коммутатор Cumulus Linux из механизма драйвера Cumulus ML2 при обнаружении перезапуска коммутатора или процесса.

Для развертывания OpenStack ML2 в сети с коммутаторами Cumulus Linux вам необходимо следующее:

  • REST API, который устанавливается вместе с Cumulus Linux;

  • Драйвер механизма Cumulus Networks Modular Layer 2 (ML2) для OpenStack, который устанавливается на узел контроллера OpenStack Neutron. Драйвер доступен в виде пакета Python из Upstream (software development);

  • OpenStack версии Queens.

    ../../../_images/mechanism_driver.png

    Механизм ML2

Настройка REST API

  1. Настройте соответствующие параметры в файле /etc/restapi.conf:

    [ML2]
    #local_bind = 10.40.10.122
    #service_node = 10.40.10.1
    
    # Add the list of inter switch links that
    # need to have the vlan included on it by default
    # Not needed if doing Hierarchical port binding
    #trunk_interfaces = uplink
    
  2. Перезапустите службу REST API, чтобы изменения конфигурации вступили в силу:

    cumulus@switch:~$ sudo systemctl restart restserver
    

    Дополнительные вызовы REST API будут добавлены для поддержки конфигурации моста с использованием имени моста вместо идентификатора сети.

Установка и настройка ML2

  1. Установите драйвер механизма Cumulus Networks ML2 на узле Neutron, который доступен в Upstream (software development):

    root@neutron:~# git clone https://github.com/CumulusNetworks/networking-cumulus.git
    root@neutron:~# cd networking-cumulus
    root@neutron:~# python setup.py install
    root@neutron:~# neutron-db-manage upgrade head
    
  2. Настройте узел для использования драйвера ML2:

    root@neutron:~# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini mechanism_drivers linuxbridge,cumulus
    
  3. Настройте Cumulus Linux коммутаторы. Отредактируйте /etc/neutron/plugins/ml2/ml2_conf.ini файл и добавьте IP-адреса Cumulus Linux коммутаторов в строку switches:

    [ml2_cumulus]
    switches="192.168.10.10,192.168.20.20"
    

Дополнительно

Драйвер ML2 включает в себя следующие параметры, которые вы можете настроить в /etc/neutron/plugins/ml2/ml2_conf.ini файле.

Параметр Описание
switches Список Cumulus Linux коммутаторов, подключенных к узлу Neutron. Указывается списком IP-адресов.
scheme Схема для базового URL для ML2 API. Например, HTTP.
protocol_port Порт протокола для расширенного URL для API ML2. Значение по умолчанию 8000.
sync_time Интервал времени для периодического опроса Cumulus Linux коммутаторов. Значение по умолчанию 30 секунд.
spf_enable Включает и отключает SPF для моста. Значение по умолчанию False.
new_bridge Включает и отключает режим моста с поддержкой VLAN для конфигурации моста. Значение по умолчанию False, поэтому создается мост в традиционном режиме.

OpenStack с Cumulus Linux в облаке

OpenStack Neutron доступен в виде предварительно настроенной опции с "Cumulus in the Cloud virtual data center". Интегрируется драйвером ML2, описанным в данной статье.