В марте 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 при создании новых серверов и изменять их после.
- Администраторы могут менять конечное состояние для эвакуации виртуальных машин. После эвакуации ВМ будет оставаться выключенной, пока пользователь не остановит ее сам. В релизе Antelope Nova конечный статус у ВМ будет SHUTOFF. Единственный способ сохранить состояние экземпляра после эвакуации — использовать более старую версию Nova.
- Администраторы могут могут сократить электропотребление ЦП. Эта опция применима тогда, когда у крупных операторов связи есть 2-4 ЦП, которые нельзя использоваться ввиду требований к пинингу ЦП на хост. Неиспользуемое ядро процессора потребляет 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 по умолчанию. Безопасное управление доступом поддерживается как Neutron network, так и компонентами image management Glance (sRBAC).
- Добавлен API для очистки устаревших устройств драйвера dhcp. Ранее в этом не было необходимости, поскольку при удалении namespace стиралось устройство. Теперь, в сетях с несколькими сегментами мы можем удалять устаревшие ID. Поиском таких «мертвых душ» и занимается API clean_devices.
- Добавлен OVN Agent, который реализует функционал, неподдерживаемый ovn-controller’ом. Агент работает на вычислительном узле или узле контроллера, используя OVN в качестве сетевого бэкенда, аналогично другим драйверам механизма ML2 — ML2/OVS или ML2/SRIOV. OVN Agent будет выполнять те действия, которые не может выполнить служба ovn-controller.
- Добавлен 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? Поделитесь своим мнением в комментариях.
Sh0daN
У вас перевод сломался.
erbanovanastasia Автор
Спасибо, что заметили! Поправила.