-
Notifications
You must be signed in to change notification settings - Fork 0
Home
-
База данных - СУБД на базе MySQL/PostgresQL, основная база run-bhyve core, хранящая информацию о виртуальных машинах, их конфигурации, их пользователях, контактная (биллинг) информация
-
Controller - высокоуровневый сервис, выполняющий и контроллирующий весь процессинг в run-bhyve core: прием запросов от API endpoint, генерация задач в Hypervisor, их постановка, обработка результата. Обработка метрик загруженности нод, балансировка нагрузки (DRS) путем анализа perfomance метрик и предсказаний на основе одной из выбранных политик (аналог watcher OpenStack: https://github.com/openstack/watcher/tree/master/watcher/decision_engine/strategy/strategies - кастомный набор политик по выбору подходящего сервера )
-
Broker bus - основная шина данных общения Controller и Hypervisor
-
Hypervisor - физическая нода под управлением FreeBSD OS. Количество нод неограничено. Каждый гипервизор имеет как минимум 1 ZPOOL. Каждый пул обслуживается процессом cbsd_mq, подписывающимся за персональной pool-очередью обработки инструкций CBSD
-
API - сервис (public), предоставляющий RestAPI, json-rpc для взаимоимодействия конечных пользвателей ( curl/UI frontend ) с виртуальными окружениями и облаком. Endpoints:
curl http://127.0.0.1:8081/api/v1/imagelist
- получить список образов ( источник: /usr/jails/tmp/bhyve-templates.json )
curl -i -X POST http://127.0.0.1:8081/api/v1/start/f111a
- запустить f111a VM
curl -i -X POST http://127.0.0.1:8081/api/v1/stop/f111a
- остановить f111a VM
curl -i -X POST http://127.0.0.1:8081/api/v1/remove/f111a
- удалить f111a VM
curl -X POST -H "Content-Type: application/json" -d @bhyve_create_minimal.json http://127.0.0.1:8081/api/v1/create/f111a
- создать VM
- CBSD - фреймворк на нижнем слое Гипервизора, выполняющий низкоуровневые операции над виртуальными окружениями ( создать вм, удалить, создать снапшот, откатить чекпоинт, выполнить добавление или ресайзин диска и тп )