Spectro Cloud спонсировал этот пост.
Это отрывок из главы 3 «Запуск виртуальных машин в Kubernetes: практический план миграции предприятия», новой электронной книги известного аналитика-исследователя и эксперта по технологиям Джанакирама MSV, спонсируемой Spectro Cloud. Эта бесплатная книга, доступная для скачивания, помогает руководителям предприятий уверенно ориентироваться в этом сдвиге, который случается раз в поколение: от изучения архитектуры и жизненного цикла виртуальных машин (ВМ) в облачной среде до создания межфункциональных групп миграции и выбора правильных инструментов.
Основы KubeVirt: объединение виртуальных машин и контейнеров
По мере того, как организации выбирают курс от традиционной виртуализации, KubeVirt становится не просто инструментом, а основополагающей технологией, которая делает возможным поэтапный прагматичный переход на Kubernetes. Он действует как мост, обеспечивая сосуществование устаревших виртуальных машин и современных контейнеров на единой унифицированной платформе: Kubernetes.
Понимание архитектуры и возможностей KubeVirt — это первый шаг к его использованию для снижения рисков в процессе миграции, консолидации инфраструктуры и ускорения перехода к облачной операционной модели.
В этой главе рассматриваются технические основы, практические ограничения и реальные модели реализации, необходимые для оценки инфраструктуры.
Обзор архитектуры: как KubeVirt расширяет Kubernetes
Философия дизайна KubeVirt проста и опирается на аспекты, в которых Kubernetes уже превосходит других. Вместо создания новой параллельной системы оркестровки для виртуальных машин KubeVirt расширяет авторитетный API Kubernetes и плоскость управления, позволяя управлять виртуальными машинами как собственными ресурсами. Он эффективно делегирует основные функции, такие как планирование, работа в сети и хранилище, непосредственно Kubernetes, одновременно накладывая конкретную логику, необходимую для виртуализации.
KubeVirt добавляет в Kubernetes возможности виртуализации.
По своей сути виртуальная машина KubeVirt — это просто процесс, работающий внутри стандартного модуля Kubernetes. Такой подход позволяет виртуальным машинам и контейнерам работать бок о бок на одних и тех же рабочих узлах, взаимодействовать через одну и ту же сеть и использовать одни и те же ресурсы хранения, и все это управляется из единой панели.
Для этого KubeVirt вводит в кластер три основных типа компонентов:
Ключевые компоненты и их роли
Взаимодействие между компонентами KubeVirt создает единый уровень виртуализации внутри Kubernetes. Хотя оператор может установить все необходимые компоненты, понимание отдельных ролей этих компонентов является ключом к устранению неполадок и эффективному управлению.
- Виртуальная машина и VMI: Это два основных CRD, с которыми взаимодействуют пользователи. Объект VirtualMachine представляет постоянное желаемое состояние виртуальной машины. Его можно запускать и останавливать, сохраняя при этом свою конфигурацию и данные. VirtualMachineInstance представляет собой фактически работающий экземпляр этой VirtualMachine. VMI более эфемерен: он существует только тогда, когда объект VirtualMachine находится в рабочем состоянии, и тесно связан с модулем, в котором он размещен.
- сервер вирт-апи: Он служит точкой входа HTTP API для всех потоков виртуализации, действуя как интерфейс для операций VMI CRD. Он проверяет, обрабатывает и сохраняет определения ресурсов VMI и VirtualMachine в Kubernetes, позволяя остальной части плоскости управления KubeVirt реагировать.
- вирт-контроллер: Это центральный контроллер всего кластера. Его основная задача — следить за созданием новых объектов VMI. Когда VMI определен, virt-controller создает соответствующий модуль, в котором в конечном итоге будет размещаться процесс VirtualMachine. Он обрабатывает операции высокого уровня и организует сложные действия, такие как живая миграция.
- вирт-обработчик: Это DaemonSet, то есть экземпляр, который работает на каждом рабочем узле. Он действует как агент, специфичный для узла. Когда модуль виртуальной машины запланирован на ее узле, управление берет на себя virt-handler. Он взаимодействует с программой запуска virt внутри модуля, чтобы выполнить все необходимые операции для запуска, остановки и управления процессом виртуальной машины на этом конкретном хосте.
- вирт-лаунчер: Для каждой работающей виртуальной машины существует выделенный модуль, и в основном контейнере внутри этого модуля выполняется компонент virt-launcher. Этот компонент является последним звеном в цепи. Он получает инструкции от virt-handler и использует локальный экземпляр libvirtd для запуска и управления фактическим процессом виртуальной машины на основе QEMU/ядра (KVM), который представляет собой виртуальную машину. Он также обеспечивает плавное завершение работы, перехватывая сигналы от Kubernetes и передавая их процессу виртуальной машины.
- либвиртд: Это демон управления гипервизором, работающий внутри контейнера virt-launcher. Он предоставляет интерфейс управления QEMU/KVM, обрабатывая команды жизненного цикла виртуальной машины, такие как запуск, остановка, пауза, возобновление и миграция. Он абстрагирует сложности прямого взаимодействия с QEMU, предлагая стабильный API.
- КЕМУ: Это эмулятор и виртуализатор пользовательского пространства, вызываемый libvirtd внутри контейнера virt-launcher. QEMU эмулирует аппаратную среду виртуальной машины и запускает гостевую операционную систему с аппаратным ускорением через KVM, если она доступна. Он управляет эмуляцией устройств, операциями ввода-вывода и виртуализацией ЦП.
Связь и хранение дополнительных контроллеров и демонов.
Чтобы узнать больше, загрузите «Запуск виртуальных машин в Kubernetes: практический план миграции предприятия» сегодня!
Spectro Cloud дает организациям уникальную возможность управлять Kubernetes в производстве в любом масштабе. Наша платформа управления Palette обеспечивает легкий контроль над полным жизненным циклом Kubernetes в облаках, центрах обработки данных, «голом железе» и периферийных средах. Узнайте больше Последние новости Spectro Cloud ТЕНДЕНЦИОННЫЕ ИСТОРИИ YOUTUBE.COM/THENEWSTACK Технологии развиваются быстро, не пропустите ни одного эпизода. Подпишитесь на наш канал YouTube, чтобы смотреть все наши подкасты, интервью, демонстрации и многое другое. ПОДПИСАТЬСЯ Группа, созданная в Sketch. Джанакирам MSV — главный аналитик Janakiram & Associates и внештатный преподаватель Международного института информационных технологий. Он также является сертифицированным облачным разработчиком Google, сертифицированным архитектором решений Amazon, сертифицированным разработчиком Amazon,… Читать далее от Джанакирама MSV