Играйте с серией корпоративных платформ облачных вычислений (5): вычислительный сервис Openstack Nova
Играйте с серией корпоративных платформ облачных вычислений (5): вычислительный сервис Openstack Nova

представленный ранее Начало работы с OpenstackРазвертывание базовой средыKeystoneGlanceи другие связанные знания,Сегодня я подробно познакомлю вас Openstack Компьютерные услуги Знания, связанные с Новой, я надеюсь, что вы сможете многому от них научиться! Если это помогло, пожалуйста, нажмите, чтобы посмотреть, переслать и поделиться в своем кругу друзей, чтобы поддержать! ! !

Введение в Нову

Nova да openstack Один из самых ранних модулей в основной версии предоставляет Компьютерные для OpenStack. услуги. в опенстеке,Nova разделена на вычислительные узлы и узлы управления. Мы называем узлы с вычислительными узлами nova-compute.,Остальные узлы называются узлами управления. Вычислительные узлы Nova отвечают только за создание виртуальных машин.,За управление отвечает узел управления nova.

Нова в основном предоставляет следующие услуги
  • 1. API отвечает за получение внешних запросов и ответ на них, поддержку API openstack, EC2 (Amazon Cloud) API и т. д.
  • 2. Сертификат отвечает за аутентификацию личности.
  • 3. Планировщик используется для планирования облачного хоста.
  • 4. Проводник используется для доступа к данным вычислительных узлов.
  • 5. Consoleauth используется для проверки авторизации консоли.
  • 6. VNC-прокси Novncproxy.

Архитектура системы Нова

Nova состоит из нескольких серверных процессов, каждый из которых выполняет разные функции. Функции каждого компонента представлены ниже.

  • нова-апи: получить rest сообщения, в том числе HTTP просить,Служитьобщение между。
  • nova-scheule: Выберите правильного хостера.
  • nova-conductor: работа с базами данных и комплексное управление процессами.
  • nova-compute: управление жизненным циклом виртуальных машин и управление ресурсами, отвечающее за управление связью между виртуальными машинами и гипервизорами.
  • База данных db:sql хранит бизнес-данные, связанные с nova.
  • Подробнее об облаке Компьютерные услуги Openstack Серия обучающих статей,Видеть:Корпоративная платформа облачных вычислений Openstack, эта серия постоянно обновляется.

Подробное объяснение компонентов Nova

Nova-API

Возможности, предоставляемые Nova API:

  • 1) Предоставить интерфейс REST внешнему миру для получения и обработки запросов.
  • 2) Выполнить проверку легальности и ограничения входящих параметров.
  • 3) Проверьте и зарезервируйте квоту для запрошенных ресурсов.
  • 4) Создание ресурса, обновление, запрос на удаление и т. д.
  • 5) Вход в управление жизненным циклом виртуальных машин.
Nova-Conductor

Возможности Нова-Проводника:

  • 1)база работа с данными, развязка других компонентов (Nova-Compute) база данныхдоступ。
  • 2) Управление сложными процессами Nova, такими как создание, холодная миграция, горячая миграция, корректировка спецификации виртуальной машины и реконструкция виртуальной машины.
  • 3) Зависимости от других компонентов, таких как nova-compute, требуют успешного запуска nova-conductor, прежде чем его можно будет запустить.
  • 4) Запись синхронизации пульса других компонентов.
Преимущества внедрения nova-conductor
  • 1) Подумайте о безопасности. Раньше каждый nova-компьютер имел прямой доступ к базе данные. Если по какой-либо причине вычислительный узел будет скомпрометирован, злоумышленник может получить доступ к Полный доступ к данным, управление базой по желанию данных。
  • 2) Удобное обновление. будет база данные и развязка nova-computer, если база Изменение шаблона данных, nova Нет необходимости обновлять компьютер.
  • 3) Учитывайте производительность. перед базой Доступ к данным доступен напрямую в nova-compute и базе. доступ к данным блокируется. Поскольку nova-compute имеет только один поток ОС, когда зеленый поток обращается к базе. данные будут блокировать другие зеленые потоки, в результате чего зеленые потоки не смогут работать одновременно. Но данова-проводница проходит рпц вызов, вызов RPC да зеленый поток, RPC Выполнение вызова не будет блокировать выполнение других зеленых потоков перед возвратом. Это улучшит параллелизм операций.
Nova-Scheduler

Планировщик — это планировщик nova, используемый для определения того, на каком вычислительном узле будет размещаться вычислительный экземпляр. Функции Нова-Планировщика:

  • 1) Отфильтруйте и определите, какой физической машине назначить экземпляр виртуальной машины.
  • 2) Процесс распределения в основном делится на два этапа: фильтрация и взвешивание, выбор вычислительных узлов, соответствующих условиям, посредством фильтра и выбор оптимального узла посредством взвешивания;
Тип планировщика
  • 1) Случайный планировщик: запускается нормально со всех nova-compute Служитьиз节点середина随机选择。
  • 2) Планировщик кэша: особый тип случайного планировщика.,На основе случайного планировщика,Кэшировать информацию о ресурсах хоста в локальной памяти.,Затем используйте запланированное задание в фоновом режиме.,Регулярно получайте самую свежую информацию о ресурсах хоста из базы данных.,Периодическая синхронизация вместо сбора информации о ресурсах хоста в режиме реального времени.
  • 3) Планировщик фильтров: выбирает лучший вычислительный узел на основе заданных условий и весов фильтра, также называемый фильтром.
Процесс планирования планировщика

Процесс планирования Nova Scheduler показан на рисунке ниже:

Как видно на картинке выше, Нова Процесс планирования планировщика разделен на два этапа: фильтрацию и расчет веса. Так называемая фильтрация означает отфильтровку некоторых хостов, которые не соответствуют условиям, на основе ресурсов виртуальной машины и фактической ситуации каждого хоста. После фильтрации Нова Планировщик рассчитает вес остальных хостов и, наконец, выберет оптимальную физическую машину для планирования.

Nova-Compute
Nova-Compute Framework
  • Manager
  • Driver
Драйвер подключается к различным платформам виртуализации
  • 1、KVM
  • 2、VMware
  • 3、Xen
  • 4、LXC
  • 5、QEMU
Возможности Nova-Compute
  • Фактический исполнитель каждой операции жизненного цикла виртуальной машины (будет вызван драйвер соответствующего гипервизора).
  • Нижний уровень подключается к различным платформам виртуализации (KVM/VMware/XEN/Ironic и т. д.).
  • Встроенные периодические задачи, полное обновление ресурсов, синхронизация состояния виртуальных машин и другие функции.
  • Модуль управления ресурсами (resource_tracker) взаимодействует с механизмом плагина для сбора статистики ресурсов.

Установка Новы

Установка узла Nova осуществляется на основании успешного установки узла Keystone. Установка узла Nova может быть выполнена в режиме YUM непосредственным выполнением команды:

Язык кода:javascript
копировать
yum install -y openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler

Это завершит установку Nova. Подробнее об облаке Компьютерные услуги Openstack Серия обучающих статей,Видеть:Корпоративная платформа облачных вычислений Openstack, эта серия постоянно обновляется.

Конфигурация Новы

Конфигурация базы данных Nova

После завершения установки узла Nova,Дальше нам нужно сделать Конфигурацию базы данных узла Nova. Откройте файл конфигурации Nova /etc/nova/nova.conf.,Найдите модуль базы данных,Добавьте в этот модуль следующий контент:

Язык кода:javascript
копировать
connection=mysql+pymysql://nova:nova@192.168.136.101/nova

После завершения настройки это выглядит так:

Затем найдите модуль api_database и добавьте в него следующий контент:

Язык кода:javascript
копировать
connection=mysql+pymysql://nova_api:nova_api@192.168.136.101/nova_api

После завершения настройки это выглядит так:

На этом настройка базы данных Nova завершена.

Инициализация базы данных Nova

После завершения настройки базы данных Nova нам необходимо синхронизировать базу данных Nova. Выполнить команду:

Язык кода:javascript
копировать
su -s /bin/sh -c "nova-manage api_db sync" nova
su -s /bin/sh -c "nova-manage db sync" nova

Вы можете добиться синхронизации двух баз данных nova и nova_api. Выполнение этих двух команд происходит следующим образом:

Уведомление,Когда вышеуказанная команда будет выполнена,Могут появиться предупреждающие сообщения,Пока нет сообщения об ошибке,Нам не нужно обращать внимание,Если вы беспокоитесь,Вы также можете выполнить команду после,осуществлятьecho $?Просмотреть результаты выполнения команды.

Далее давайте проверим результаты инициализации базы данных Nova. Выполнить команду:

Язык кода:javascript
копировать
mysql -h 192.168.136.101 -unova -pnova -e "use nova;show tables;"
mysql -h 192.168.136.101 -unova_api -pnova_api -e "use nova_api;show tables;"

Вы можете просмотреть базу Есть ли в данных инициализированная таблица и статус выполнения этих двух команд? показано ниже:

Как видно из вышеизложенного, наши базы данных nova и nova_api уже имеют соответствующий контент, что показывает, что наша база данных была успешно инициализирована!

Конфигурация Nova Keystone

Выше мы познакомились с установкой узлов Nova и инициализацией базы данных в openstack. Сегодня мы представим другие конфигурации Nova.

Мы открываем файл конфигурации Nova /etc/nova/nova.conf и добавляем следующий контент в модуль по умолчанию в файле:

Язык кода:javascript
копировать
[DEFAULT]
auth_strategy=keystone

Приведенное выше содержимое указывает на то, что Nova использует keystone для аутентификации. Завершенный файл конфигурации выглядит следующим образом:

После этого мы добавляем следующий контент в модуль keystone_authtoken:

Язык кода:javascript
копировать
[keystone_authtoken]
auth_uri=http://192.168.136.101:5000
auth_url=http://192.168.136.101:35357
memcached_servers=192.168.136.101:11211
auth_type=password
project_domain_name=default
user_domain_name=default
project_name=service
username=nova
password=nova

Вышеуказанный контент относится к сертификации даkeystone. Конфигурация.,Включая IP-адрес, тип аутентификации, имя домена, имя проекта, имя пользователя и пароль.,Завершено Файл конфигурации Как показано ниже:

Развертывание Nova Rabbitmq

после,Потому что novaСлужить использует очереди сообщений для связи,так что мынуждатьсянастраиватьRabbitmq。ОткрытьNovaиз Конфигурациядокумент/etc/nova/nova.conf,Добавьте следующую конфигурацию в модуль DEFAULT:

Язык кода:javascript
копировать
rpc_backend=rabbit

Как показано ниже:

после,оказаться[oslo_messaging_rabbit]модуль,Добавьте следующую конфигурацию в этот модуль:

Язык кода:javascript
копировать
rabbit_host=192.168.136.101
rabbit_port=5672
rabbit_userid=openstack
rabbit_password=openstack

В приведенном выше содержимом конфигурации указаны IP-адрес, номер порта, имя пользователя и пароль RabbitMQ соответственно. Завершено Файл конфигурации Как показано ниже:

так,Наша настройка Nova RabbitMQ завершена. Дополнительные обучающие статьи о серии облачных компьютерных услуг Openstack,Видеть:Корпоративная платформа облачных вычислений Openstack, эта серия постоянно обновляется.

Собственная конфигурация Nova

Наконец, нам также необходимо настроить некоторые собственные функции Nova. Ищем следующие параметры Nova и изменяем их до следующей конфигурации:

Язык кода:javascript
копировать
enabled_apis=osapi_compute,metadata
use_neutron=true
firewall_driver=nova.virt.firewall.NoopFirewallDriver
vncserver_listen=192.168.136.101
vncserver_proxyclient_address=192.168.136.101
api_servers=http://192.168.136.101:9292
lock_path=/var/lib/nova/tmp

Приведенное выше содержимое конфигурации соответственно представляет собой настройку API, включенную метаданными, настройку поддержки сетевых служб Neutron, отключение брандмауэра, настройку прокси-сервера VNC, настройку API службы зеркалирования Glance, настройку пути блокировки и т. д. Завершено Файл конфигурации Как показано ниже:

На этом собственная настройка Nova завершена.

Обзор конфигурации Nova

Наконец, мы выполняем команду:

Язык кода:javascript
копировать
grep "^[a-Z]" /etc/nova/nova.conf

Вы можете просмотреть все действующие команды в текущем файле конфигурации Nova, а результаты выполнения команд: показано ниже:

Сервис Нова запускается

Выше мы завершили общий файл конфигурации Nova. Далее мы можем запустить службу Nova. Чтобы запустить службу Nova, нам нужно выполнить следующую команду:

Язык кода:javascript
копировать
systemctl start openstack-nova-api
systemctl start openstack-nova-consoleauth
systemctl start openstack-nova-scheduler
systemctl start openstack-nova-conductor
systemctl start openstack-nova-novncproxy

Эти команды соответственно указывают на запуск служб Nova.

Создание сервиса Нова

После запуска службы Nova нам также необходимо зарегистрировать службу Nova в Keystone. Сначала выполните команду:

Язык кода:javascript
копировать
source admin-openstack.sh

Предоставьте разрешения токена opensstacl для нашей следующей операции, а затем выполните команду:

Язык кода:javascript
копировать
openstack service create --name nova --description "openstack nova" compute

Для создания службы Nova's Service результаты выполнения этой команды следующие:

После этого нам нужно создать конечную точку API сервиса Nova Compute. Нам нужно создать три конечные точки: общедоступную, внутреннюю и административную, и выполнить команды соответственно:

Язык кода:javascript
копировать
openstack endpoint create --region RegionOne compute public http://192.168.136.101:8774/v2.1/%\(tenant_id\)s
openstack endpoint create --region RegionOne compute internal http://192.168.136.101:8774/v2.1/%\(tenant_id\)s
openstack endpoint create --region RegionOne compute admin http://192.168.136.101:8774/v2.1/%\(tenant_id\)s

Результаты выполнения этих команд соответственно: показано ниже:

Наконец, мы выполняем команду:

Язык кода:javascript
копировать
openstack host list

Чтобы проверить ситуацию с конфигурацией узла управления, результат: Как показано ниже:

Как видно на картинке выше, регистрация в нашем сервисе Nova прошла успешно!

Вот и вседа О нас Nova Знакомство с принципом, установкой и настройкой сервиса.

Справочная статья: https://blog.csdn.net/weixin_40228200/. article/details/125126937 https://blog.csdn.net /weixin_40228200/article/details/125126716

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose