[ English | русский | Deutsch | Indonesia | English (United Kingdom) ]

Добавление нового хоста инфраструктуры

Хотя рекомендуется использовать три хоста инфраструктуры, если в среде потребуются дополнительные хосты, можно создать дополнительные узлы.

Предупреждение

Убедитесь, что вы сделали резервную копию текущего окружения OpenStack перед добавлением новых узлов. См. Резервное копирование и восстановление вашего облака для получения дополнительной информации.

  1. Добавьте узел в строку infra_hosts в файле /etc/openstack_deploy/openstack_user_config.yml:

    infra_hosts:
    [...]
      infra<node-ID>:
        ip: 10.17.136.32
    
  2. Перейдите в папку плейбука на хосте развертывания:

    # cd /opt/openstack-ansible
    
  3. Чтобы подготовить новые хосты и развернуть на них контейнеры, запустите плейбук setup-hosts.yml: с аргументом limit.

    # openstack-ansible openstack.osa.setup_hosts --limit localhost,infra<node-ID>,infra<node-ID>-host_containers
    
  4. Если вы используете содержимое /etc/hosts, вам также следует обновить его для всех хостов:

    # openstack-ansible openstack.osa.openstack_hosts_setup -e openstack_hosts_group=all --tags openstack_hosts-file
    
  5. Далее нам нужно расширить кластеры Galera/RabbitMQ, что делается в файле setup-infrastructure.yml. Поэтому мы запустим этот плейбук без ограничений:

    Предупреждение

    Убедитесь, что контейнеры с нового инфрахоста не появляются в inventory как первые для групп galera_all, rabbitmq_all и repo_all. Вы можете проверить это с помощью специальных команд:

    # ansible -m debug -a "var=groups['galera_all'][0]" localhost
    # ansible -m debug -a "var=groups['rabbitmq_all'][0]" localhost
    # ansible -m debug -a "var=groups['repo_all'][0]" localhost
    
    # openstack-ansible openstack.osa.setup_infrastructure -e galera_force_bootstrap=true
    
  6. После того, как инфраструктурные плейбуки завершили работу, очередь за развертыванием служб OpenStack. Большинство служб можно запускать с ограничениями, но некоторые, например keystone, — нет. Поэтому мы запускаем плейбук keystone отдельно от всех остальных:

    # openstack-ansible openstack.osa.keystone
    # openstack-ansible openstack.osa.setup_openstack --limit '!keystone_all',localhost,infra<node-ID>,infra<node-ID>-host_containers
    

Тестирование новых узлов инфраструктуры

После создания нового узла infra проверьте, что узел работает правильно, запустив новый инстанс. Убедитесь, что новый узел может ответить на тест сетевого соединения с помощью команды ping. Войдите в свою систему мониторинга и убедитесь, что мониторы возвращают зеленый сигнал для нового узла.