Вопрос или проблема
Я новичок в OpenStack и изучаю его.
Я установил OpenStack, следуя официальной документации по установке на нескольких узлах:
https://docs.openstack.org/kolla-ansible/latest/user/quickstart.html
1 контроллер
1 хранилище
1 вычислительный узел
Установка завершилась без проблем.
Когда я попытался создать первую виртуальную машину через GUI, у меня возникла ошибка [Ошибка: Не найдено допустимого хоста. ].
Ищя причину, я обнаружил, что nova-compute не работает, поэтому я предполагаю, что проблема может быть связана с отсутствием nova-compute.
openstack compute service list
+--------------------------------------+----------------+----------------+----------+---------+-------+----------------------------+
| ID | Binary | Host | Zone | Status | State | Updated At |
+--------------------------------------+----------------+----------------+----------+---------+-------+----------------------------+
| dfa6770e-844e-482c-bf54-3f341701e567 | nova-conductor | controllernode | internal | enabled | up | 2025-02-22T12:08:51.000000 |
| 94a5ad26-0d99-4fec-ab33-1ee1b03d3801 | nova-scheduler | controllernode | internal | enabled | up | 2025-02-22T12:08:52.000000 |
+--------------------------------------+----------------+----------------+----------+---------+-------+----------------------------+
И пустой результат:
openstack compute service list --service nova-compute
Прочитав документацию, я понял, что отсутствуют такие сервисы, как nova-api service и nova-api-metadata service
https://docs.openstack.org/nova/latest/install/get-started-compute.html
openstack service list
+----------------------------------+-----------+----------------+
| ID | Name | Type |
+----------------------------------+-----------+----------------+
| 21657f3b85ab4680b20d40d537996917 | keystone | identity |
| 49f3ec6e213441888895d163d890e52e | nova | compute |
| 6c5f3f46fb2e49c1849460c4bde02b2b | neutron | network |
| 7922215ad6b143b78912cf670e5e5788 | glance | image |
| 99789c4656ea48e7a6a843058f97d80e | placement | placement |
| a332fd04f55249dcb2d9c3c19e85c5c0 | heat | orchestration |
| bd65f08ca90d4c79927c04ef6d4d512c | heat-cfn | cloudformation |
| ebb2771ee95f477895d493e729889a66 | cinderv3 | volumev3 |
+----------------------------------+-----------+----------------+
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8d9a37200c75 quay.io/openstack.kolla/horizon:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) horizon
c10be2ed09aa quay.io/openstack.kolla/heat-engine:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) heat_engine
7d11a6272a81 quay.io/openstack.kolla/heat-api-cfn:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) heat_api_cfn
b9f084856278 quay.io/openstack.kolla/heat-api:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) heat_api
48e44489571f quay.io/openstack.kolla/neutron-metadata-agent:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) neutron_metadata_agent
27be91a41811 quay.io/openstack.kolla/neutron-l3-agent:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) neutron_l3_agent
12d39f48b115 quay.io/openstack.kolla/neutron-dhcp-agent:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) neutron_dhcp_agent
843dc4b5ac68 quay.io/openstack.kolla/neutron-openvswitch-agent:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) neutron_openvswitch_agent
ec210325ddd3 quay.io/openstack.kolla/neutron-server:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) neutron_server
572d2ccd379b quay.io/openstack.kolla/nova-novncproxy:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) nova_novncproxy
62d92654bf38 quay.io/openstack.kolla/nova-conductor:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) nova_conductor
80b1239ce8fa quay.io/openstack.kolla/nova-api:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) nova_metadata
779ff47cb685 quay.io/openstack.kolla/nova-api:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) nova_api
e5b83c6482d4 quay.io/openstack.kolla/nova-scheduler:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) nova_scheduler
e085be4d88d8 quay.io/openstack.kolla/openvswitch-vswitchd:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) openvswitch_vswitchd
a264b102ea37 quay.io/openstack.kolla/openvswitch-db-server:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) openvswitch_db
d19185a9f3c4 quay.io/openstack.kolla/placement-api:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) placement_api
d1b914fe07c6 quay.io/openstack.kolla/cinder-scheduler:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) cinder_scheduler
bb27e8f63eba quay.io/openstack.kolla/cinder-api:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) cinder_api
863cd91af3a7 quay.io/openstack.kolla/glance-api:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) glance_api
da4889a0e52b quay.io/openstack.kolla/keystone:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) keystone
c27afdf730a8 quay.io/openstack.kolla/keystone-fernet:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) keystone_fernet
792583f5be93 quay.io/openstack.kolla/keystone-ssh:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) keystone_ssh
cfa7ec511c16 quay.io/openstack.kolla/rabbitmq:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) rabbitmq
a69e503916d0 quay.io/openstack.kolla/memcached:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) memcached
4ef0b91df3a2 quay.io/openstack.kolla/mariadb-server:master-ubuntu-noble "dumb-init -- kolla_…" 31 hours ago Up About an hour (healthy) mariadb
5e193f7796e1 quay.io/openstack.kolla/keepalived:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour keepalived
f06e63b21c04 quay.io/openstack.kolla/proxysql:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) proxysql
4e95e261980b quay.io/openstack.kolla/haproxy:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour (healthy) haproxy
2a8fb5b631a8 quay.io/openstack.kolla/cron:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour cron
7241e2438e5b quay.io/openstack.kolla/kolla-toolbox:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour kolla_toolbox
f150384f2c9c quay.io/openstack.kolla/fluentd:master-ubuntu-noble "dumb-init --single-…" 31 hours ago Up About an hour fluentd
Можете помочь, пожалуйста?
Ответ или решение
Конечно, я помогу вам разобраться в вопросе, касающемся отсутствия работающей службы nova-compute
в вашей среде OpenStack.
Теоретическая часть (Theory)
Платформа OpenStack представляет собой сложный программный комплекс, предназначенный для создания и управления облачными инфраструктурами. Одним из центральных компонентов систем виртуализации в OpenStack является Nova — служба, отвечающая за управление жизненным циклом виртуальных машин (или инстансов).
nova-compute
— одна из самых ключевых служб в этом стеке, так как именно она отвечает за запуск и управление виртуальными машинами на вашем вычислительном узле. Если эта служба не работает или отсутствует, вы не сможете создавать новые инстансы. Это и приводит к ошибке, которую вы наблюдаете: "No valid host was found" (Не найден подходящий хост).
Однако в вашей инфраструктуре, как можно судить по приведенной информации, этой службы действительно не существует, что и является основной причиной проблемы.
Уточнение ситуации (Example)
Вы следуете официальной документации Kolla-Ansible для установки OpenStack на многозвенном кластере, что похвально. Однако, по вашим данным, в списке служб отсутствует nova-compute
, а в docker ps
отсутствует контейнер для нее на вычислительном узле. Это приводит к тому, что OpenStack не может найти доступные хосты для развертывания инстансов.
Также вы отметили, что такие службы, как nova-api
и nova-metadata
, присутствуют и работают корректно, что указывает на их правильную настройку. Однако из-за отсутствия nova-compute
, система не может предложить хосты для размещения инстансов.
Решение проблемы и применение (Application)
-
Проверка конфигурации Kolla-Ansible:
- Убедитесь, что в вашем конфигурационном файле
/etc/kolla/globals.yml
или других используемых файлах присутствует запись о включенииnova-compute
для вашего вычислительного узла.
- Убедитесь, что в вашем конфигурационном файле
-
Развертывание службы
nova-compute
:- Если вручную изменить конфигурации недостаточно, выполните команду
kolla-ansible deploy
повторно, чтобы убедиться, что все необходимые контейнеры (в том числеnova-compute
) развернуты правильно на вашем вычислительном узле.
- Если вручную изменить конфигурации недостаточно, выполните команду
-
Проверка доступности ресурсов:
- Убедитесь, что ваши вычислительные узлы имеют достаточные ресурсы (CPU, RAM, дисковую память) и правильно подключены к сети, чтобы Nova могла их обнаружить и использовать.
-
Логи и журналирование:
- Проверьте журналы Docker и Nova на предмет ошибок или предупреждений, которые могут указывать на причины неполадок. Например,
docker logs <container_name>
для выявления проблем в контейнерах.
- Проверьте журналы Docker и Nova на предмет ошибок или предупреждений, которые могут указывать на причины неполадок. Например,
-
Проверка остальной конфигурации:
- Убедитесь, что службы, от которых зависит
nova-compute
, такие как RabbitMQ (для обмена сообщениями) и Keystone (для удостоверения), также работают корректно и доступны с вычислительного узла.
- Убедитесь, что службы, от которых зависит
-
Сетевые настройки:
- Проверьте настройки сети, чтобы убедиться в корректной маршрутизации и наличии всех необходимых сетевых интерфейсов и тоннелей, если они применяются.
-
Поддержка и документация:
- Если проблема сохраняется, обратитесь к более детализированной документации OpenStack или к сообществу для конкретного изучения вашего развертывания и возможных причин неполадок.
Если вы выполните вышеуказанные шаги, это должно помочь вам настроить и запустить службу nova-compute
, что позволит успешно создавать инстансы в вашей OpenStack среде.
Не забудьте после применения каждого изменения перепроверять результаты работы системы, чтобы убедиться, что изменения принесли ожидаемые результаты. Если по-прежнему возникнут трудности, возможно, стоит рассмотреть привлечение специалистов или консультантов, специализирующихся на OpenStack, для более глубокого анализа вашей инфраструктуры.