Как установить OpenStack на CentOS 8 с помощью Packstack

Как установить OpenStack на CentOS 8 с помощью Packstack

 

Openstack — это бесплатное программное обеспечение для частного облака с открытым исходным кодом, с помощью которого мы можем легко управлять вычислительными, сетевыми и хранилищами нашего центра обработки данных, используя единую панель управления и команды openstack cli. В этой статье мы продемонстрируем, как установить Openstack в системе CentOS 8 с помощью packstack . Packstack — это утилита командной строки, которая развертывает различные компоненты openstack с помощью модулей марионеток.

Развертывание Openstack с packstack обычно используется для проверки концепции (POC), поэтому не рекомендуется использовать packstack для производственного развертывания. Используйте метод TripleO для развертывания openstack в производственной среде.

Минимальные системные требования для OpenStack

  • Минимальная CentOS 8
  • Двухъядерный процессор
  • 8 ГБ RAM
  • 40 ГБ свободного места на диске
  • Стабильное интернет-соединение
  • Хотя бы одна карта nic

Подробная информация о настройке My Lab:

  • Имя хоста — openstack.example.com
  • IP — 192.168.1.8
  • Плоская сеть — 192.168.1.0/24

Давайте углубимся в этапы установки openstack,

Шаг 1) Задайте имя хоста и обновите файл / etc / hosts

Откройте терминал и установите имя хоста с помощью следующей команды hostnamectl,

[root@infoit.com.ua ~]# hostnamectl set-hostname "openstack.example.com"
[root@infoit.com.ua ~]# exec bash

Выполните следующую команду echo, чтобы добавить запись имени хоста в файл / etc / hosts.

[root@infoit.com.ua ~]# echo -e "192.168.1.8\topenstack.example.com" >> /etc/hosts

Шаг 2) Отключите Network Manager и настройте сеть с помощью сетевых скриптов.

Network-Manager — это инструмент по умолчанию в CentOS 8 для управления сетями, но для Openstack мы должны отключить его, потому что сеть openstack не будет работать должным образом с network-manager. Вместо сетевого менеджера мы должны установить собственные сетевые скрипты.

Чтобы отключить сетевой менеджер, выполните следующие команды:

[root@infoit.com.ua ~]# systemctl disable NetworkManager
[root@infoit.com.ua ~]# systemctl stop NetworkManager

Выполните следующую команду dnf, чтобы установить собственные сетевые скрипты

[root@infoit.com.ua ~]# dnf install network-scripts -y

После установки пакета сетевых скриптов мы можем управлять сетью (файлы ifcfg- *), используя собственный network.service

Теперь настроим IP-адрес в файле ifcfg-enp0s3 и запустим сетевой сервис.

[root@infoit.com.ua ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

Как установить OpenStack на CentOS 8 с помощью Packstack

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

[root@infoit.com.ua ~]# systemctl start network
[root@infoit.com.ua ~]# systemctl enable network

Теперь проверьте, назначен ли IP-адрес сетевой карте (enp0s3) с помощью команды ip,

[root@infoit.com.ua ~]# ip a s enp0s3

Как установить OpenStack на CentOS 8 с помощью Packstack

Шаг 3) Включите репозитории OpenStack и установите утилиту packstack.

На момент написания этой статьи ussuri openstack был доступен, поэтому выполните следующую команду, чтобы настроить его репозитории

[root@infoit.com.ua ~]# dnf config-manager --set-enabled powertools
или
[root@infoit.com.ua ~]# dnf config-manager --enable PowerTools
[root@infoit.com.ua ~]# dnf install -y centos-release-openstack-ussuri

Теперь установили все доступные обновления и перезагрузили систему,

[root@infoit.com.ua ~]# dnf update -y
[root@infoit.com.ua ~]# reboot

Как только система станет доступной после перезагрузки, выполните следующую команду dnf, чтобы установить утилиту packstack.

[root@infoit.com.ua ~]# dnf install -y openstack-packstack

Шаг 4) Создайте файл ответов и установите openstack с помощью packstack

Используйте команду packstack для создания файла ответов,

[root@infoit.com.ua ~]# packstack --gen-answer-file /root/openstack-answer.txt

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

[root@infoit.com.ua ~]# vi /root/openstack-answer.txt
..............
CONFIG_HEAT_INSTALL=y
CONFIG_PROVISION_DEMO=n
CONFIG_KEYSTONE_ADMIN_PW=P@ssw0rd
CONFIG_NEUTRON_OVN_BRIDGE_IFACES=br-ex:enp0s3
..............

Сохраните и выйдите из файла.

Замените имя интерфейса (enp0s3) в соответствии с вашими настройками.

Примечание. Сетевой диск типа Tenant по умолчанию установлен как « geneve », а драйвер нейтронного типа по умолчанию установлен как « geneve and flat ». Если вы хотите изменить эти параметры по умолчанию, обновите следующие строки в файле ответов. В этой демонстрации я не собираюсь обновлять эти параметры.

CONFIG_NEUTRON_ML2_TYPE_DRIVERS=geneve,flat
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=geneve

Выполните следующую команду, чтобы начать развертывание openstack с помощью файла ответов.

[root@infoit.com.ua ~]# packstack --answer-file /root/openstack-answer.txt

Развертывание займет от 20 до 30 минут в зависимости от оборудования вашей системы и скорости интернета. После успешной установки мы получим следующее:

Как установить OpenStack на CentOS 8 с помощью Packstack

Теперь проверьте, назначен ли IP от интерфейса enp03 мосту br-ex, а также убедитесь, что интерфейс enp0s3 добавлен в качестве порта в ovs-bridge.

Выполните следующие команды:

 

[root@infoit.com.ua ~]# ip a s enp0s3
[root@infoit.com.ua ~]# ip a s br-ex
[root@infoit.com.ua ~]# ovs-vsctl show

Как установить OpenStack на CentOS 8 с помощью Packstack

Отлично, приведенный выше вывод подтверждает, что установка прошла успешно, и сеть также настроена в соответствии с файлом ответов.

Шаг 5) Доступ к панели мониторинга Horizon

Теперь попробуйте войти в панель управления Horizon. URL-адрес уже указан в приведенном выше выводе, в моем случае URL-адрес http://192.168.1.8/dashboard. Используйте имя пользователя в качестве администратора и пароль, которые мы указываем в файле ответов.

Мы также ссылаемся на файл « keystonerc_admin » для учетных данных.

Как установить OpenStack на CentOS 8 с помощью Packstack

 

Как установить OpenStack на CentOS 8 с помощью Packstack

Теперь давайте протестируем это развертывание openstack, запустив экземпляр.

Шаг 6) Протестируйте и проверьте установку OpenStack, запустив экземпляр

Перед запуском экземпляра в openstack сначала мы должны создать сети и маршрутизатор и просмотреть образ. Итак, давайте сначала создадим внешнюю сеть в клиенте администратора, используя следующие нейтронные команды,

[root@infoit.com.ua ~]# source keystonerc_admin
[root@infoit.com.ua ~]# neutron net-create external_network --provider:network_type flat --provider:physical_network extnet --router:external

Теперь добавьте подсеть вашей плоской сети во внешнюю сеть, выполнив следующую команду нейтрона.

[root@infoit.com.ua ~]# neutron subnet-create --name public_subnet --enable_dhcp=True --allocation-pool=start=192.168.1.210,end=192.168.1.230 --gateway=192.168.1.1 external_network 192.168.1.0/24

Создайте маршрутизатор, выполнив следующую команду нейтрона, и установите его шлюз, используя внешнюю сеть.

[root@infoit.com.ua ~]# neutron router-create dev-router
[root@infoit.com.ua ~]# neutron router-gateway-set dev-router external_network

Создайте частную сеть и присоедините к ней подсеть. Выполните следующую команду нейтрона,

[root@infoit.com.ua ~]# neutron net-create pvt_net
[root@infoit.com.ua ~]# neutron subnet-create --name pvt_subnet pvt_net 10.20.1.0/24

Добавьте интерфейс pvt_net к маршрутизатору « dev_router », используя команду под нейтроном,

[root@infoit.com.ua ~]# neutron router-interface-add dev-router  pvt_subnet

Теперь загрузите изображение Cirros, а затем загрузите его, чтобы просмотреть

[root@infoit.com.ua ~]# wget http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-x86_64-disk.img
[root@infoit.com.ua ~]# openstack image create --disk-format qcow2 --container-format bare --public --file cirros-0.5.1-x86_64-disk.img  cirros

Теперь вернитесь на панель мониторинга Horizon и проверьте топологию сети.

Как установить OpenStack на CentOS 8 с помощью Packstack

Отлично, это подтверждает, что частная и внешняя сеть были правильно настроены вместе с маршрутизатором.

Последний шаг перед созданием виртуальной машины: обновите группу безопасности по умолчанию, добавьте правила входа icmp и ssh , нажмите « Группы безопасности » на вкладке сети, нажмите «Управление правилами», а затем нажмите « Добавить правило ».

Как установить OpenStack на CentOS 8 с помощью Packstack

Аналогично добавляем правило для ssh

Как установить OpenStack на CentOS 8 с помощью Packstack

Нажмите на Добавить

Теперь все требования для запуска инстанса openstack выполнены. Щелкните вкладку « Вычислить», затем выберите параметр « Выбрать экземпляры» и нажмите « Запустить экземпляр ».

 

Как установить OpenStack на CentOS 8 с помощью Packstack

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

Как установить OpenStack на CentOS 8 с помощью Packstack

Теперь связать плавающий IP-адрес с экземпляром (demo_vm). На вкладке « Действия » выберите « Связать плавающий IP-адрес ».

Как установить OpenStack на CentOS 8 с помощью Packstack

Теперь выберите IP-адрес или нажмите знак +, чтобы получить плавающий IP-адрес из внешней сети, а затем свяжите его

Как установить OpenStack на CentOS 8 с помощью Packstack

После того, как IP-адрес связан с виртуальной машиной, плавающий IP-адрес будет отображаться для параметра « IP-адрес », пример показан ниже.

Как установить OpenStack на CentOS 8 с помощью Packstack

Теперь попробуйте получить доступ к этому demo_vm, используя плавающий IP- адрес , используйте cirros в качестве пользователя и gocubsgo в качестве пароля.

Как установить OpenStack на CentOS 8 с помощью Packstack

Отлично, приведенный выше вывод подтверждает, что мы можем получить доступ к нашему экземпляру через плавающий IP-адрес. На этом статья завершается; Я надеюсь, что это руководство поможет развернуть openstack в системе CentOS 8. Пожалуйста, не стесняйтесь делиться своими отзывами и комментариями.