Как установить 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
Сохраните и выйдите из файла, а затем запустите сетевую службу, используя следующую команду:
[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
Шаг 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 минут в зависимости от оборудования вашей системы и скорости интернета. После успешной установки мы получим следующее:
Теперь проверьте, назначен ли 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
Отлично, приведенный выше вывод подтверждает, что установка прошла успешно, и сеть также настроена в соответствии с файлом ответов.
Шаг 5) Доступ к панели мониторинга Horizon
Теперь попробуйте войти в панель управления Horizon. URL-адрес уже указан в приведенном выше выводе, в моем случае URL-адрес http://192.168.1.8/dashboard. Используйте имя пользователя в качестве администратора и пароль, которые мы указываем в файле ответов.
Мы также ссылаемся на файл « keystonerc_admin » для учетных данных.
Теперь давайте протестируем это развертывание 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 и проверьте топологию сети.
Отлично, это подтверждает, что частная и внешняя сеть были правильно настроены вместе с маршрутизатором.
Последний шаг перед созданием виртуальной машины: обновите группу безопасности по умолчанию, добавьте правила входа icmp и ssh , нажмите « Группы безопасности » на вкладке сети, нажмите «Управление правилами», а затем нажмите « Добавить правило ».
Аналогично добавляем правило для ssh
Нажмите на Добавить
Теперь все требования для запуска инстанса openstack выполнены. Щелкните вкладку « Вычислить», затем выберите параметр « Выбрать экземпляры» и нажмите « Запустить экземпляр ».
После успешного запуска виртуальной машины мы получим примерно следующее:
Теперь связать плавающий IP-адрес с экземпляром (demo_vm). На вкладке « Действия » выберите « Связать плавающий IP-адрес ».
Теперь выберите IP-адрес или нажмите знак +, чтобы получить плавающий IP-адрес из внешней сети, а затем свяжите его
После того, как IP-адрес связан с виртуальной машиной, плавающий IP-адрес будет отображаться для параметра « IP-адрес », пример показан ниже.
Теперь попробуйте получить доступ к этому demo_vm, используя плавающий IP- адрес , используйте cirros в качестве пользователя и gocubsgo в качестве пароля.
Отлично, приведенный выше вывод подтверждает, что мы можем получить доступ к нашему экземпляру через плавающий IP-адрес. На этом статья завершается; Я надеюсь, что это руководство поможет развернуть openstack в системе CentOS 8. Пожалуйста, не стесняйтесь делиться своими отзывами и комментариями.