Spectro Cloud спонсировал этот пост.
Это отрывок из главы 3 «Запуск виртуальных машин в Kubernetes: практический план миграции предприятия», новой электронной книги известного аналитика-исследователя и эксперта по технологиям Джанакирама MSV, спонсируемой Spectro Cloud.
Эта бесплатная книга, доступная для скачивания, помогает руководителям предприятий уверенно ориентироваться в этом сдвиге, который случается раз в поколение: от изучения архитектуры и жизненного цикла виртуальных машин (ВМ) в облачной среде до создания межфункциональных групп миграции и выбора правильных инструментов.
Создание готовой к работе платформы KubeVirt требует тщательного планирования сети, хранилища и безопасности. Каждая область строится на основе Kubernetes, добавляя возможности и требования, специфичные для виртуальных машин.
Архитектура хранения данных
KubeVirt использует собственные концепции хранения данных Kubernetes для управления дисками виртуальных машин. Виртуальные машины используют Persistent Volume Claims (PVC) для запроса хранилища, а не традиционные хранилища данных. Характеристики хранилища, такие как профили производительности и режимы доступа, определяются через объекты StorageClass, которые подключаются к базовым системам хранения через драйверы Container Storage Interface (CSI).
Для динамической миграции требуется хранилище, к которому могут иметь доступ несколько узлов одновременно. Обычно это предполагает использование объектов StorageClass, которые предоставляют тома ReadWriteMany (RWX) с помощью таких технологий, как сетевая файловая система (NFS), CephFS или распределенные системы хранения. Для высокопроизводительных рабочих нагрузок, таких как базы данных, PVC можно настроить с параметром VolumeMode, установленным на Block, предоставляя необработанные блочные устройства непосредственно виртуальным машинам для оптимальной производительности ввода-вывода (I/O).
KubeVirt также поддерживает операции хранения, такие как клонирование и создание снимков, если базовый драйвер CSI предоставляет эти возможности. Это позволяет использовать такие рабочие процессы, как создание шаблонов виртуальных машин из существующих дисков или создание резервных копий работающих систем на определенный момент времени.
Конфигурация сети
Виртуальные машины подключаются к сети модулей Kubernetes по умолчанию с использованием маскарадной привязки, которая обеспечивает доступ к сети кластера с помощью трансляции сетевых адресов (NAT). Этот подход легко интегрирует виртуальные машины с существующими сетевыми механизмами Kubernetes и механизмами обнаружения сервисов.
Более сложные сетевые сценарии требуют дополнительных инструментов. Multus служит мета-плагином Container Network Interface (CNI), который позволяет модулям и содержащимся в них виртуальным машинам одновременно подключаться к нескольким сетям. Эта возможность поддерживает такие варианты использования, как подключение виртуальных машин к определенным виртуальным локальным сетям (VLAN) через мостовые сети или обеспечение высокопроизводительного подключения через сквозные устройства виртуализации ввода-вывода с одним корнем (SR-IOV).
Выбор плагина CNI оказывает существенное влияние на доступные сетевые функции. Различные реализации CNI предлагают разные уровни функциональности для удовлетворения расширенных сетевых требований, включая сегментацию сети, формирование трафика и оптимизацию производительности.
Структура безопасности
KubeVirt наследует модели безопасности Kubernetes, расширяя их для рабочих нагрузок виртуальных машин. Пространства имен обеспечивают первичную границу изоляции, группируя связанные виртуальные машины и контейнеры и одновременно контролируя их доступ к ресурсам кластера. Этот подход создает логическое разделение, аналогично организации виртуальных машин в папки или пулы ресурсов.
Управление доступом на основе ролей (RBAC) определяет детальные разрешения для управления виртуальными машинами. Политики RBAC определяют, какие пользователи или учетные записи служб могут создавать, удалять, изменять виртуальные машины или получать к ним доступ в определенных пространствах имен. Это позволяет детально делегировать административные обязанности между различными командами или проектами.
Сетевые политики контролируют поток трафика между виртуальными машинами и другими рабочими нагрузками кластера. Эти политики предоставляют базовые возможности сегментации сети, хотя их эффективность полностью зависит от реализации плагина CNI. Некоторые решения CNI предлагают более продвинутые возможности обеспечения соблюдения политик и мониторинга, чем другие.
Стандарты безопасности модулей и контроллеры доступа могут применять политики безопасности к рабочим нагрузкам виртуальных машин так же, как и контейнерные приложения. Сюда входят ограничения на привилегированные операции, ограничения ресурсов и контексты безопасности, которые определяют работу виртуальных машин в кластере.
Вопросы интеграции
Управление виртуальными машинами через KubeVirt унаследовало множество преимуществ от платформы Kubernetes. В управлении ресурсами используются те же системы квот и лимитов, что и в контейнерах. Сетевые политики действуют согласованно как на виртуальных машинах, так и на модулях. Управление хранилищем соответствует стандартным шаблонам Kubernetes, используя постоянные тома и классы хранения.
Декларативная модель означает, что конфигурации виртуальных машин можно контролировать, проверять и развертывать с помощью стандартных методов DevOps. Команды могут применять к своей инфраструктуре виртуальных машин те же рабочие процессы GitOps, которые используются для контейнерных приложений, обеспечивая согласованность операций при различных типах рабочих нагрузок.
Конвергенция рабочих нагрузок виртуальных машин и контейнеров на единой платформе создает возможности для унифицированных подходов к управлению. Политики хранения могут одинаково применяться к обоим типам рабочих нагрузок. Стратегии сегментации сети могут охватывать виртуальные машины и модули в рамках одной и той же политики. Средства контроля безопасности выигрывают от централизованного управления и последовательных механизмов обеспечения соблюдения.
Однако эта интеграция также требует тщательного планирования, чтобы гарантировать, что требования, специфичные для виртуальных машин, такие как живая миграция, доступ к консоли и совместимость с устаревшими приложениями, адекватно учитываются в более широкой операционной модели Kubernetes.
Чтобы узнать больше, загрузите «Запуск виртуальных машин в Kubernetes: практический план миграции предприятия» сегодня!
Spectro Cloud дает организациям уникальную возможность управлять Kubernetes в производстве в любом масштабе. Наша платформа управления Palette обеспечивает легкий контроль над полным жизненным циклом Kubernetes в облаках, центрах обработки данных, «голом железе» и периферийных средах. Узнайте больше Последние новости Spectro Cloud ТЕНДЕНЦИОННЫЕ ИСТОРИИ YOUTUBE.COM/THENEWSTACK Технологии развиваются быстро, не пропустите ни одного эпизода. Подпишитесь на наш канал YouTube, чтобы смотреть все наши подкасты, интервью, демонстрации и многое другое. ПОДПИСАТЬСЯ Группа, созданная в Sketch. Джанакирам MSV — главный аналитик Janakiram & Associates и внештатный преподаватель Международного института информационных технологий. Он также является сертифицированным облачным разработчиком Google, сертифицированным архитектором решений Amazon, сертифицированным разработчиком Amazon,… Читать далее от Джанакирама MSV