Поиск по сайту:

Как использовать Kubernetes и OpenStack вместе


Работа выполняется совместно с обеих сторон, и существуют системы поддержки как для OpenStack, так и для Kubernetes.

В опросе пользователей OpenStack 2021 года большинство респондентов заявили, что используют Kubernetes в качестве инструмента оркестровки контейнеров или инструмента «Платформа как услуга» (PaaS) для управления своими приложениями OpenStack. Проще говоря, OpenStack и Kubernetes работают вместе, принося пользу как системным администраторам, разработчикам, так и пользователям.

Одно дело сказать, что пользователи полагаются на эти две технологии, но мне хотелось знать, как это сделать. Я нашел несколько типичных случаев использования.

Кубернетес на OpenStack

Kubernetes нужно где-то запускать, и это место может быть на виртуальной машине OpenStack. Поскольку OpenStack был спроектирован и реализован для масштабного запуска, он позволяет кластеру Kubernetes делать то же самое. API OpenStack предоставляют согласованный уровень абстракции для интеграции Kubernetes.

OpenStack в контейнере Kubernetes

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

Это сценарий запуска, который я видел в использовании, и он демонстрирует легкость, с которой можно создать новый хост и экземпляр Kubernetes в OpenStack:

#!/usr/bin/env bash
CWD="$(pwd)"
${OSH_INFRA_PATH:="../openstack-helm-infra"}
pushd ${OSH_INFRA_PATH}
make dev-deploy setup-host
make dev-deploy k8s
popd

Автономный OpenStack с Kubernetes

Возможно, у вас есть другой поставщик инфраструктуры для работы вашего кластера Kubernetes, но вы хотите извлечь выгоду из того, как вы храните данные, и вам не нравятся решения поставщика. Что ж, несколько сервисов OpenStack были адаптированы для работы без Nova для вычислений. Облачный провайдер SIG предлагает множество плагинов для интеграции с кластером Kubernetes. Существуют плагины не только для хранения, но и для контроля входа, автоматического восстановления, авторизации аутентификации через веб-перехватчик и управления ключами. Если вам не нужны все возможности OpenStack, но вы все же хотите использовать некоторые из его сервисов с Kubernetes, вы тоже можете это сделать.

(Кендалл Нельсон, CC BY-SA 4.0)

Kubernetes на оборудовании, предоставленном Ironic

Ironic, служба подготовки «голого железа» OpenStack, настраивает инфраструктуру, необходимую для запуска контейнеров. Это дает контейнерам Kubernetes преимущество прямой интеграции с вычислительными, сетевыми ресурсами и ресурсами хранения. Обычно среды выполнения контейнеров скрывают это от пользователей из соображений безопасности, но в развертываниях, где пользователям не требуется разделение, операторы могут взаимодействовать с кластером и вносить изменения быстрее. Запуск контейнеров Kubernetes непосредственно поверх оборудования, предоставленного Ironic, позволяет гибкости контейнеров облегчить ежедневные проблемы оператора, такие как развертывание и обновление.

Более подробную информацию о различных способах совместной работы Kubernetes и OpenStack можно найти в этой презентации PyCon.

Следующий шаг: Попробуйте!

И что теперь? Теперь, когда вы знаете, как совместно использовать OpenStack и Kubernetes, приступайте к делу! Попробуйте их с помощью локальной установки DevStack и посмотрите, подойдет ли вам какая-нибудь комбинация. В зависимости от варианта использования может произойти слияние двух сообществ, что повысит ценность ваших усилий. Или, если вы видите пробел, который необходимо устранить, примите участие и обратите на это внимание сообществ!

Два сообщества с открытым исходным кодом, один мир открытой инфраструктуры

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

Работа выполняется совместно с обеих сторон, и существуют системы поддержки как для OpenStack, так и для Kubernetes.

Проектные группы OpenStack работают над тем, чтобы сделать свои сервисы автономными, а также над обновлением сервисов развертывания для интеграции с Kubernetes. Они развивают и совершенствуют такие проекты, как Kuryr, для объединения контейнеров и сетей OpenStack. Команды обслуживания OpenStack всегда ищут помощи. Получили отзыв или столкнулись с проблемой? Обратитесь в список рассылки openstack-discuss.

Что касается Kubernetes, SIG Cloud Provider работает над разработкой и расширением списка плагинов, доступных в Cloud Provider OpenStack, для дополнения и интеграции контейнеров Kubernetes. Они тестируют точки интеграции, чтобы убедиться, что их проект работает в инфраструктуре OpenStack. Не знаете, как настроить плагин, или вам интересно, что включает какая-либо опция? Присоединяйтесь к каналу Slack #provider-openstack k8s и задавайте вопросы!

Люди, составляющие сообщества Kubernetes и OpenStack, активно стараются сотрудничать. Долгое время в технологическом сообществе широко распространено заблуждение, что эти два проекта будут вечно противопоставляться друг другу, соперничая за доминирование, но повествование изменилось. Kubernetes и OpenStack работают вместе. Они интегрируются практически любым способом, необходимым для того, чтобы сделать жизнь операторов проще, а возможности пользователей — более гибкими и быстрыми.

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

Статьи по данной тематике: