Что изменилось в инструментах OpenStack? Рассказываем о самых важных обновлениях в релизе Antelope

wdz2hwctnvmvbvb5ikubq4bvtzu.png


В марте 2023 года OpenStack начал новый цикл обновлений, выпустив Antelope — 27-ю версию облачного стека с открытым исходным кодом. Это первый выпуск в рамках SLURP, где пользователи могут перейти на годичный цикл обновлений и пропускать деплой каждые 6 месяцев.

Мы посмотрели release notes совместно с экспертами Selectel и выделили самые важные обновления. Под катом рассказываем, что изменилось в Nova, Neutron, Octavia и Cinder — именно эти компоненты мы используем в разработке собственного облака. Сохраняйте статью в закладки: пригодится тем, кто работает с этой open source-платформой виртуализации или интересуется ею.
Используйте навигацию, если не хотите читать текст полностью:

→ Nova
→ Neutron
→ Octavia
→ Cinder

OpenStack — свободное программное обеспечение, которое используется для создания инфраструктурных облачных сервисов и облачных хранилищ. Selectel разрабатывает облачную платформу на базе OpenStack с 2013 года. Новую на тот момент платформу мы выбрали после неудачного опыта с самописным облаком на Haskell — подробнее уже писали об этом на Хабре. В итоге нам понравилось работать с OpenStack: было понятно, что менять, чтобы ничего не сломалось, также была ценна поддержка со стороны комьюнити и возможность кастомизировать патчи.

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

Nova


Контроллер вычислительных ресурсов, который передает команды множеству гипервизоров, запущенных на хостах, и управляет виртуальными машинами. С компонентом Nova в Selectel работает команда Compute — ребята, которые заботятся о правильном распределении и утилизации вычислительных мощностей облака.


  • Пользователи могут указывать FQDN в hostname виртуальный машины. Ранее Nova не разрешала назначать FQDN в hostname и блокировала его, поэтому в качестве hostname использовалось отображаемое имя виртуальной машины. В Antelope пользователи смогут задавать hostname при создании новых серверов и изменять их после.
  • Пользователи могут менять целевое состояние для эвакуации виртуальных машин. При определенных обстоятельствах оператор может перевести работающие экземпляры в остановленное состояние независимо от текущего состояния ВМ. С новой микроверсией Nova всегда будет эвакуировать экземпляр в состояние SHUTOFF. Единственный способ сохранить состояние экземпляра после эвакуации — использовать более старую версию Nova.
  • Компании могут управлять состоянием процессора в libvirt. У крупных операторов связи есть 2–4 процессора, которые непригодны для использования из-за требований к CPU. Неиспользуемое ядро процессора потребляет 3–5 Вт энергии и выделяет 3–5 Вт тепла, которое необходимо охладить сплит-системой ЦОДа или за счет окружающей среды. Для снижения энергопотребления и тепловыделения в libvirt можно изменять состояние питания CPU из интерфейса sysfs ядра.


Подробнее → release notes Nova 2023.1

Neutron


Сервис подключения к сети, который отвечает за сетевые подключения виртуальных машин, балансировщиков нагрузки и всех других сущностей с приватной или публичной связанностью. Мы используем Neutron для организации сетей облака и в сервисе бэкапов по расписанию.


  • В политике API добавлена поддержка работы с новыми ролями — project_member и project_reader. Как и большинство сервисов OpenStack, Neutron защищает свой API с помощью управления доступом на основе ролей: пользователи могут получить разрешение к различным API в зависимости от их роли в проекте. Теперь Neutron предоставляет три роли — admin, member и reader — в политике API по умолчанию. Безопасное управление доступом поддерживается как нейтронной сетью, так и компонентами управления изображениями Glance (sRBAC).
  • Добавлен API для очистки устаревших устройств драйвера dhcp. Ранее в этом не было необходимости, поскольку при удалении namespace стиралось устройство. Теперь, в сетях с несколькими сегментами мы можем удалять устаревшие ID. Поиском таких «мертвых душ» и занимается API clean_devices.
  • Добавлен OVN Agent, который реализует функционал, неподдерживаемый ovn-controller«ом. Агент работает на вычислительном узле или узле контроллера, используя OVN в качестве сетевого бэкенда, аналогично другим драйверам механизма ML2 — ML2/OVS или ML2/SRIOV. OVN Agent будет выполнять те действия, которые не может выполнить служба ovn-controller.


k5h7xuqzyygjvfyumceelhmk65q.png


  • Добавлен OVN Neutron Agent: поддержка QoS для для DevLink ports. Это расширение будет применять правила QoS — минимальной и максимальной пропускной способности на выходе — для портов с аппаратной разгрузкой. Расширение использует команды «ip-link» для установки параметров «ceil» и «rate» на соответствующих виртуальных функциях.
  • Добавлена поддержка маршрутизируемых сетей для работы с несколькими сегментами на одном хосте. Главным следствием этого станет расширение оператором пула IP-адресов без создания нескольких сетей и/или увеличения широковещательного домена. На данный момент нынешняя поддержка доступна только для агента OVS.
  • Для ML2/OVS и ML2/OVN добавлена поддержка моделирования туннелей в Placement API. Теперь параметр конфигурации «tunnelled_network_rp_name» (значение по умолчанию «rp_tunnelled») определяет имя поставщика ресурсов, используемое для представления всех туннелированных сетей на compute node (хосте виртуализации). Если эта строка присутствует в словаре «resource_provider_bandwidths», то соответствующий драйвер создаст поставщика ресурсов для оверлейного трафика.


Подробнее → release notes Neutron 2023.1

Возможно, эти тексты тоже вас заинтересуют:

→ Реализация пользовательского интерфейса OpenStack LBaaS
→ Как работают объектные хранилища: OpenStack Swift
→ Можно ли сейчас продолжать развивать IT-инфраструктуру? Что изменилось после февраля 2022 года


Octavia


Решение для балансировки нагрузки с открытым исходным кодом. Собственно, на Octavia работают облачные балансировщики нагрузки в Selectel.


  • Добавлен новый «cpu-pinning» элемент в скрипт для сборки образа амфоры*, который улучшит вертикальное масштабирование. Когда собирается образ amphora с несколькими vCPU, то «cpu-pinning» настраивает ядро Linux на изоляцию всех виртуальных процессоров, кроме первого, чтобы они использовались исключительно потоками HAProxy.


*Amphora — это отдельные виртуальные машины, контейнеры или серверы bare-metal, которые предоставляют услуги балансировки нагрузки в среды клиентских приложений.

Подробнее → release notes Octavia 2023.1

Cinder


Виртуальная система хранения данных, где ОС запускается преимущественно с сетевого или локального диска, как у обычного компьютера. Cinder участвует в работе облачных бэкапов по расписанию.


  • Расширили поддержку новых оборудований. Теперь Cinder предоставляет серверные драйверы для HP XP iSCSI и FC, Fungible NVMe-TCP и NetApp NVMe-TCP.


Подробнее → release notes Cinder 2023.1

Сергей Крайнев, разработчик облачной платформы Selectel

У OpenStack есть интересные нововведения с полезным функционалом для создания и поддержания облачной платформы. Однако перед использованием советуем протестировать их с учетом ваших требований, так как некоторые фичи могут не подходить конкретному пользователю.


Что вы думаете по поводу релиза Antelope? Поделитесь своим мнением в комментариях.

© Habrahabr.ru