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

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

 

OpenStack — это широко распространенная облачная операционная система для управления небольшими и большими пулами вычислительных серверов, хранилищ и сетевых ресурсов во всех центрах обработки данных / нескольких центрах обработки данных.

 

OpenStack поставляется с приборной панелью (Horizon), которая дает администраторам возможность управлять системами, а конечным пользователям и арендаторам предоставляется возможность предоставлять ресурсы через веб-интерфейс. Интерфейс командной строки и REST API также доступны для управления и предоставления ресурсов.

Самым последним выпуском OpenStack на момент написания этой статьи является Victoria, это 22-й выпуск OpenStack. В версии Victoria есть выдающиеся новые функции и улучшения. Также рассматриваются улучшения интеграции с Kubernetes, расширенная поддержка FPGA и решения сложных сетевых проблем. Это руководство проведет вас через полную установку OpenStack Victoria на CentOS 8 с использованием Packstack .

Установка OpenStack Victoria на CentOS 8 с помощью Packstack

Packstack — это утилита командной строки, которая использует модули Puppet для автоматического развертывания различных частей OpenStack на нескольких предустановленных серверах через SSH. В настоящее время он поддерживает развертывание только на CentOS, Red Hat Enterprise Linux (RHEL), и поддерживаются совместимые производные обоих.

Я буду выполнять установку на сервере со следующим оборудованием.

CPU: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz (12 Cores)
Memory: 128GB RAM
Disk: 2 x 1TB SSD
Network: 1Gbit
IPV4 Adresses: 1 x IPV4 + /27 Subnet (30 IPs)

Операционная система, установленная на сервере, где мы выполняем развертывание, — это минимальная версия CentOS 8.

Шаг 1. Задайте имя хоста, DNS и систему обновления

Установите правильное имя хоста для сервера.

sudo hostnamectl set-hostname openstack.example.com

Убедитесь, что на вашем сервере работает локальное разрешение имен. Также рассмотрите возможность добавления записи A, если в вашей инфраструктуре есть рабочий DNS-сервер.

$ sudo vi /etc/hosts
192.168.10.11 openstack.example.com

Затем обновите систему, чтобы убедиться, что все пакеты самые свежие.

$ sudo dnf update -y

После обновления перезагрузите систему.

sudo reboot

Шаг 2. Включите репозитории, отключите NetworkManager.

Включите репозитории, которые потребуются для установки пакетов OpenStack на сервере CentOS 8.

sudo dnf -y install epel-release
sudo dnf config-manager --enable PowerTools

В CentOS 8 сетевые скрипты устарели и не устанавливаются по умолчанию. Вам нужно установить его вручную.

sudo dnf -y install network-scripts
readlink $(readlink $(which ifup))
sudo touch /etc/sysconfig/disable-deprecation-warnings

Отключите службы NetworkManager и Firewalld, затем включите сетевую службу.

sudo systemctl disable --now NetworkManager
sudo systemctl enable network
sudo systemctl start  network

Убедитесь, что вы используете статический IP-адрес, чтобы избежать отключения от сети. См. Ниже пример

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eno1
DEVICE=eno1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.10.11
NETMASK=255.255.255.0
GATEWAY=192.168.10.254
IPV6INIT=no

Если служба Firewalld запущена, рассмотрите возможность ее отключения для упрощения настройки.

sudo systemctl disable --now firewalld

Перезагрузите систему, чтобы убедиться, что сеть работает.

sudo reboot

Шаг 3: Добавьте репозиторий OpenStack Victoria

Проверьте доступные выпуски пакета centos-release-openstack , используя следующие команды.

$ sudo dnf search centos-release-openstack
CentOS-8 - Advanced Virtualization                                                                                                257 kB/s | 133 kB     00:00
CentOS-8 - Ceph Nautilus                                                                                                          530 kB/s | 388 kB     00:00
CentOS-8 - RabbitMQ 38                                                                                                            239 kB/s | 137 kB     00:00
CentOS-8 - NFV OpenvSwitch                                                                                                         35 kB/s |  16 kB     00:00
CentOS-8 - OpenStack victoria                                                                                                     6.6 MB/s | 2.7 MB     00:00
============================================================= Name Matched: centos-release-openstack =============================================================
centos-release-openstack-train.noarch : OpenStack from the CentOS Cloud SIG repo configs
centos-release-openstack-ussuri.noarch : OpenStack from the CentOS Cloud SIG repo configs
centos-release-openstack-victoria.noarch : OpenStack from the CentOS Cloud SIG repo configs

Я установлю пакет репозитория выпуска Victoria

sudo dnf -y install centos-release-openstack-victoria

Обновите все текущие системные пакеты ОС, чтобы обеспечить синхронизацию.c.

sudo dnf update -y

После обновления перезагрузите систему:

sudo reboot

Шаг 4. Установите Packstack и сгенерируйте файл ответов.

Установите packstack из пакета openstack-packstack.

sudo dnf install -y openstack-packstack

Подтвердите успешную установку, запросив версию.

$ packstack --version
packstack 17.0.0

Параметры команды:

$ packstack --help

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

$ sudo su -
# packstack --os-neutron-ml2-tenant-network-types=vxlan \
--os-neutron-l2-agent=openvswitch \
--os-neutron-ml2-type-drivers=vxlan,flat \
--os-neutron-ml2-mechanism-drivers=openvswitch \
--keystone-admin-passwd=<admin password> \
--nova-libvirt-virt-type=kvm \
--provision-demo=n \
--cinder-volumes-create=n \
--os-heat-install=y \
--os-swift-storage-size=10G \
--gen-answer-file /root/answers.txt

Установите пароль пользователя Keystone / admin --keystone-admin-passwd. Если у вас нет дополнительного хранилища для Cinder, вы можете использовать устройство цикла для группы томов с помощью cinder-volume-create = y, но производительность не будет хорошей. Выше приведены стандартные настройки, но вы можете передать столько параметров, сколько вам нужно.

Вы можете изменить созданный файл ответов, чтобы добавить дополнительные параметры.

# vi /root/answers.txt

Шаг 5: Установите OpenStack Victoria на CentOS 8 с помощью Packstack

Если вас устраивает содержимое файла ответов, начните развертывание OpenStack Victoria на CentOS 8 с помощью Packstack:

 # packstack --answer-file /root/answers.txt --timeout=3000

Процесс установки должен быть начат и может занять некоторое время:

....
Gathering ssh host keys for Nova migration           [ DONE ]
Preparing Nova Compute entries                       [ DONE ]
Preparing Nova Scheduler entries                     [ DONE ]
Preparing Nova VNC Proxy entries                     [ DONE ]
Preparing OpenStack Network-related Nova entries     [ DONE ]
Preparing Nova Common entries                        [ DONE ]
Preparing Neutron API entries                        [ DONE ]
Preparing Neutron L3 entries                         [ DONE ]
Preparing Neutron L2 Agent entries                   [ DONE ]
Preparing Neutron DHCP Agent entries                 [ DONE ]
Preparing Neutron Metering Agent entries             [ DONE ]
Checking if NetworkManager is enabled and running    [ DONE ]
Preparing OpenStack Client entries                   [ DONE ]
Preparing Horizon entries                            [ DONE ]
Preparing Swift builder entries                      [ DONE ]
Preparing Swift proxy entries                        [ DONE ]
Preparing Swift storage entries                      [ DONE ]
Preparing Heat entries                               [ DONE ]
Preparing Heat CloudFormation API entries            [ DONE ]
Preparing Gnocchi entries                            [ DONE ]
Preparing Redis entries                              [ DONE ]
Preparing Ceilometer entries                         [ DONE ]
Preparing Aodh entries                               [ DONE ]
Preparing Puppet manifests                           [ DONE ]
Copying Puppet modules and manifests                 [ DONE ]
Applying 192.168.10.11_controller.pp
192.168.10.11_controller.pp:                         [ DONE ]
Applying 192.168.10.11_network.pp
192.168.10.11_network.pp:                            [ DONE ]
Applying 192.168.10.11_compute.pp
192.168.10.11_compute.pp:                            [ DONE ]
Applying Puppet manifests                            [ DONE ]
Finalizing                                           [ DONE ]

 **** Installation completed successfully ******

Additional information:
 * Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
 * File /root/keystonerc_admin has been created on OpenStack client host 192.168.10.11. To use the command line tools you need to source the file.
 * To access the OpenStack Dashboard browse to http://192.168.10.11/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
 * The installation log file is available at: /var/tmp/packstack/20201216-023529-0df1tgus/openstack-setup.log
 * The generated manifests are available at: /var/tmp/packstack/20201216-023529-0df1tgus/manifests

Теперь вы можете получить профиль администратора keystone в сеансе терминала.

source ~/keystonerc_admin

Проверьте, можете ли вы вызвать CLI openstack для взаимодействия со службами OpenStack.

$ openstack service list
+----------------------------------+------------+----------------+
| ID                               | Name       | Type           |
+----------------------------------+------------+----------------+
| 016e1a0f299e4188a4ff2f0951041890 | swift      | object-store   |
| 02b03ebfe32a48a8ba1b4eb886fea509 | cinderv2   | volumev2       |
| 0ee374b1619e44dd8c3f1f8c8792b08b | nova       | compute        |
| 4eddc25d9c6c42c29ed4aaf3a690e073 | aodh       | alarming       |
| 51ec76355583449aac07c7570750bfda | heat       | orchestration  |
| 75797c5e394f419f9de85e8f424914fa | neutron    | network        |
| 75e2d698d2114d028769621995232a35 | glance     | image          |
| 84da19176cb84382a7a87d9461ab926e | placement  | placement      |
| 8d228baf96b24d97934d1f722337f0ee | heat-cfn   | cloudformation |
| 9e944a5b9a3d474ebc60fd85f0c080bd | cinderv3   | volumev3       |
| 9e9507529ec4454daebeb30183a06d16 | gnocchi    | metric         |
| bf915960baff410db3583cc66ee55daa | keystone   | identity       |
| fbb3e1eb3d6b489386648476e1c55877 | ceilometer | metering       |
+----------------------------------+------------+----------------+

Для входа в Horizon Dashboard я буду использовать URL-адрес:: http://192.168.10.11/dashboard

Шаг 6: настройте нейтронную сеть

Перенесите сетевые конфигурации основного интерфейса на мост. Это обновленные конфигурации сети на моем сервере.

$ sudo  vi /etc/sysconfig/network-scripts/ifcfg-eno1
DEVICE=eno1
ONBOOT=yes
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-br-ex
DEVICE=br-ex
BOOTPROTO=none
ONBOOT=yes
TYPE=OVSBridge
DEVICETYPE=ovs
USERCTL=yes
PEERDNS=yes
IPV6INIT=no
IPADDR=192.168.10.11
NETMASK=255.255.255.0
GATEWAY=192.168.10.254

Создайте мост OVS и добавьте интерфейс.

sudo ovs-vsctl add-port br-ex eno1

Перезапустите сетевую службу, чтобы обновления вступили в силу.

sudo systemctl restart network.service

Подтвердите информацию об IP-адресе.

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master ovs-system state UP group default qlen 1000
    link/ether b4:2e:99:47:f1:df brd ff:ff:ff:ff:ff:ff
       valid_lft forever preferred_lft forever
3: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether f2:1d:71:2b:ab:66 brd ff:ff:ff:ff:ff:ff
4: br-ex: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether b4:2e:99:47:f1:df brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.11/24 scope global br-ex
       valid_lft forever preferred_lft forever
5: br-int: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 5a:bc:36:f1:b8:48 brd ff:ff:ff:ff:ff:ff
6: br-tun: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 2a:d9:4a:b2:84:47 brd ff:ff:ff:ff:ff:ff

Создайте частную сеть на OpenStack.

$ openstack network create private
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | UP                                   |
| availability_zone_hints   |                                      |
| availability_zones        |                                      |
| created_at                | 2020-12-16T17:39:11Z                 |
| description               |                                      |
| dns_domain                | None                                 |
| id                        | 03eff42c-0b21-43e6-bbb6-164552279961 |
| ipv4_address_scope        | None                                 |
| ipv6_address_scope        | None                                 |
| is_default                | False                                |
| is_vlan_transparent       | None                                 |
| mtu                       | 1450                                 |
| name                      | private                              |
| port_security_enabled     | True                                 |
| project_id                | f9e4445b9ac14d4da47d0a0451f2e0c9     |
| provider:network_type     | vxlan                                |
| provider:physical_network | None                                 |
| provider:segmentation_id  | 10                                   |
| qos_policy_id             | None                                 |
| revision_number           | 1                                    |
| router:external           | Internal                             |
| segments                  | None                                 |
| shared                    | False                                |
| status                    | ACTIVE                               |
| subnets                   |                                      |
| tags                      |                                      |
| updated_at                | 2020-12-16T17:39:11Z                 |
+---------------------------+--------------------------------------+

Создайте подсеть для частной сети:

$ openstack subnet create --network private --allocation-pool \
    start=172.10.10.50,end=172.10.10.200 \
    --dns-nameserver 213.133.100.100 --dns-nameserver 213.133.99.99 \
    --subnet-range 172.10.10.0/24 private_subnet

+----------------------+-----------------------------------------------+
| Field                | Value                                         |
+----------------------+-----------------------------------------------+
| allocation_pools     | 172.10.10.50-172.10.10.200                    |
| cidr                 | 172.10.10.0/24                                |
| created_at           | 2020-12-16T17:40:11Z                          |
| description          |                                               |
| dns_nameservers      | 213.133.100.100, 213.133.98.98, 213.133.99.99 |
| dns_publish_fixed_ip | None                                          |
| enable_dhcp          | True                                          |
| gateway_ip           | 172.10.10.1                                   |
| host_routes          |                                               |
| id                   | bd52f697-7e61-4f70-a416-78dde193b0c2          |
| ip_version           | 4                                             |
| ipv6_address_mode    | None                                          |
| ipv6_ra_mode         | None                                          |
| name                 | private_subnet                                |
| network_id           | 03eff42c-0b21-43e6-bbb6-164552279961          |
| prefix_length        | None                                          |
| project_id           | f9e4445b9ac14d4da47d0a0451f2e0c9              |
| revision_number      | 0                                             |
| segment_id           | None                                          |
| service_types        |                                               |
| subnetpool_id        | None                                          |
| tags                 |                                               |
| updated_at           | 2020-12-16T17:40:11Z                          |
+----------------------+-----------------------------------------------+

Создать публичную сеть:

$ openstack network create --provider-network-type flat \
  --provider-physical-network extnet \
  --external public

+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | UP                                   |
| availability_zone_hints   |                                      |
| availability_zones        |                                      |
| created_at                | 2020-12-16T17:47:40Z                 |
| description               |                                      |
| dns_domain                | None                                 |
| id                        | 95cbb9bc-ddcc-412f-9496-3f77dff3f030 |
| ipv4_address_scope        | None                                 |
| ipv6_address_scope        | None                                 |
| is_default                | False                                |
| is_vlan_transparent       | None                                 |
| mtu                       | 1500                                 |
| name                      | public                               |
| port_security_enabled     | True                                 |
| project_id                | f9e4445b9ac14d4da47d0a0451f2e0c9     |
| provider:network_type     | flat                                 |
| provider:physical_network | extnet                               |
| provider:segmentation_id  | None                                 |
| qos_policy_id             | None                                 |
| revision_number           | 1                                    |
| router:external           | External                             |
| segments                  | None                                 |
| shared                    | False                                |
| status                    | ACTIVE                               |
| subnets                   |                                      |
| tags                      |                                      |
| updated_at                | 2020-12-16T17:47:40Z                 |
+---------------------------+--------------------------------------+

Определите подсеть для общедоступной сети. Это может быть настоящая общедоступная IP-сеть.

$ openstack subnet create --network public --allocation-pool \
  start=192.168.10.100,end=192.168.10.200 --no-dhcp \
  --subnet-range 192.168.10.0/24 public_subnet

+----------------------+--------------------------------------+
| Field                | Value                                |
+----------------------+--------------------------------------+
| allocation_pools     | 192.168.10.100-192.168.10.200        |
| cidr                 | 192.168.10.0/24                      |
| created_at           | 2020-12-16T17:48:40Z                 |
| description          |                                      |
| dns_nameservers      |                                      |
| dns_publish_fixed_ip | None                                 |
| enable_dhcp          | False                                |
| gateway_ip           | 192.168.10.254                       |
| host_routes          |                                      |
| id                   | 0063aaf9-9e3d-4634-a4c7-ddf0e66c2b75 |
| ip_version           | 4                                    |
| ipv6_address_mode    | None                                 |
| ipv6_ra_mode         | None                                 |
| name                 | public_subnet                        |
| network_id           | 95cbb9bc-ddcc-412f-9496-3f77dff3f030 |
| prefix_length        | None                                 |
| project_id           | f9e4445b9ac14d4da47d0a0451f2e0c9     |
| revision_number      | 0                                    |
| segment_id           | None                                 |
| service_types        |                                      |
| subnetpool_id        | None                                 |
| tags                 |                                      |
| updated_at           | 2020-12-16T17:48:40Z                 |
+----------------------+--------------------------------------+

Создайте маршрутизатор, который соединит общедоступные и частные подсети

$ openstack router create private_router
+-------------------------+--------------------------------------+
| Field                   | Value                                |
+-------------------------+--------------------------------------+
| admin_state_up          | UP                                   |
| availability_zone_hints |                                      |
| availability_zones      |                                      |
| created_at              | 2020-12-16T17:50:14Z                 |
| description             |                                      |
| distributed             | False                                |
| external_gateway_info   | null                                 |
| flavor_id               | None                                 |
| ha                      | False                                |
| id                      | 0e3d364e-586a-4c17-854d-4e05cddb27fc |
| name                    | private_router                       |
| project_id              | f9e4445b9ac14d4da47d0a0451f2e0c9     |
| revision_number         | 1                                    |
| routes                  |                                      |
| status                  | ACTIVE                               |
| tags                    |                                      |
| updated_at              | 2020-12-16T17:50:14Z                 |
+-------------------------+--------------------------------------+

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

$ openstack router set --external-gateway public private_router

Подключите частную сеть к маршрутизатору.

$ openstack router add subnet private_router private_subnet

Убедитесь, что сетевое подключение работает.

$ ip netns show
qrouter-0e3d364e-586a-4c17-854d-4e05cddb27fc (id: 1)
qdhcp-03eff42c-0b21-43e6-bbb6-164552279961 (id: 0)

$ ip netns exec qrouter-0e3d364e-586a-4c17-854d-4e05cddb27fc ping -c 1 infoit.com.ua
PING infoit.com.ua (104.26.4.192) 56(84) bytes of data.
64 bytes from 104.26.4.192 (104.26.4.192): icmp_seq=1 ttl=57 time=21.10 ms

--- infoit.com.ua ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 21.951/21.951/21.951/0.000 ms

Шаг 7. Создайте тестовый экземпляр

Наша платформа OpenStack Cloud должна быть готова к использованию. Скачиваем образ облака Cirros.

mkdir images
cd images
wget http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-x86_64-disk.img

Загрузите изображение Cirros в Glance

openstack image create --disk-format qcow2 \
  --container-format bare --public \
  --file ./cirros-0.5.1-x86_64-disk.img "Cirros-0.5.1"

Подтвердите загрузку изображения

$ openstack image list
+--------------------------------------+--------------+--------+
| ID                                   | Name         | Status |
+--------------------------------------+--------------+--------+
| 211daeef-eee7-4b13-a778-72c06b8d2c27 | Cirros-0.5.1 | active |
+--------------------------------------+--------------+--------+

Создайте группу безопасности для любого доступа.

openstack security group create permit_all --description "Allow all ports"
openstack security group rule create --protocol TCP --dst-port 1:65535 --remote-ip 0.0.0.0/0 permit_all
openstack security group rule create --protocol ICMP --remote-ip 0.0.0.0/0 permit_all

Создайте еще одну группу безопасности для ограниченного доступа — стандартные порты доступа ICMP , 22, 80, 443

openstack security group create limited_access --description "Allow base ports"
openstack security group rule create --protocol ICMP --remote-ip 0.0.0.0/0 limited_access
openstack security group rule create --protocol TCP --dst-port 22 --remote-ip 0.0.0.0/0 limited_access
openstack security group rule create --protocol TCP --dst-port 80 --remote-ip 0.0.0.0/0 limited_access
openstack security group rule create --protocol TCP --dst-port 443 --remote-ip 0.0.0.0/0 limited_access

Список всех групп безопасности:

$ openstack security group list

Подтверждаю. правила в группе безопасности.

$ openstack security group show permit_all
$ openstack security group show limited_access

Создать закрытый ключ

$ ssh-keygen # if you don't have ssh keys already

Добавить ключ в Openstack:

$  openstack keypair create --public-key ~/.ssh/id_rsa.pub admin
+-------------+-------------------------------------------------+
| Field       | Value                                           |
+-------------+-------------------------------------------------+
| fingerprint | 19:7b:5c:14:a2:21:7a:a3:dd:56:c6:e4:3a:22:e8:3f |
| name        | admin                                           |
| user_id     | 513f0abd6eba4b0fab2754166f38e0f2                |
+-------------+-------------------------------------------------+

Подтвердите, что пара ключей доступна в OpenStack:

$ openstack keypair list
+-------+-------------------------------------------------+
| Name  | Fingerprint                                     |
+-------+-------------------------------------------------+
| admin | 19:7b:5c:14:a2:21:7a:a3:dd:56:c6:e4:3a:22:e8:3f |
+-------+-------------------------------------------------+

Список доступных сетей:

$ openstack network list
+--------------------------------------+---------+--------------------------------------+
| ID                                   | Name    | Subnets                              |
+--------------------------------------+---------+--------------------------------------+
| 03eff42c-0b21-43e6-bbb6-164552279961 | private | bd52f697-7e61-4f70-a416-78dde193b0c2 |
| 95cbb9bc-ddcc-412f-9496-3f77dff3f030 | public  | 0063aaf9-9e3d-4634-a4c7-ddf0e66c2b75 |
+--------------------------------------+---------+--------------------------------------+

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

$ openstack flavor list
+----+-----------+-------+------+-----------+-------+-----------+
| ID | Name      |   RAM | Disk | Ephemeral | VCPUs | Is Public |
+----+-----------+-------+------+-----------+-------+-----------+
| 1  | m1.tiny   |   512 |    1 |         0 |     1 | True      |
| 2  | m1.small  |  2048 |   20 |         0 |     1 | True      |
| 3  | m1.medium |  4096 |   40 |         0 |     2 | True      |
| 4  | m1.large  |  8192 |   80 |         0 |     4 | True      |
| 5  | m1.xlarge | 16384 |  160 |         0 |     8 | True      |
+----+-----------+-------+------+-----------+-------+-----------+

Создадим экземпляр в частной сети

openstack server create \
  --flavor m1.tiny \
  --image "Cirros-0.5.1" \
  --network private \
  --key-name admin \
  --security-group permit_all \
  mycirros

Проверьте, успешно ли создан экземпляр.

$ openstack server list
+--------------------------------------+----------+--------+---------------------------------------+--------------+---------+
| ID                                   | Name     | Status | Networks                              | Image        | Flavor  |
+--------------------------------------+----------+--------+---------------------------------------+--------------+---------+
| 043ba014-1670-4b50-8abf-50210c716611 | mycirros | ACTIVE | private=172.10.10.113                 | Cirros-0.5.1 | m1.tiny |
+--------------------------------------+----------+--------+---------------------------------------+--------------+---------+

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

После назначения плавающего IP-адреса вы можете использовать ssh для экземпляра с закрытым ключом.

$ ssh [email protected]<floating-ip>
Warning: Permanently added '192.168.10.104' (ECDSA) to the list of known hosts.
Enter passphrase for key '/Users/jkmutai/.ssh/id_rsa':

$ cat /etc/os-release
NAME=Buildroot
VERSION=2019.02.1-dirty
ID=buildroot
VERSION_ID=2019.02.1
PRETTY_NAME="Buildroot 2019.02.1"
$
$ ping infoit.com.ua -c 2
PING infoit.com.ua (104.26.5.192): 56 data bytes
64 bytes from 104.26.5.192: seq=0 ttl=56 time=22.220 ms
64 bytes from 104.26.5.192: seq=1 ttl=56 time=22.190 ms

--- infoit.com.ua ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 22.190/22.205/22.220 ms

Надеюсь, эта статья помогла вам установить OpenStack Victoria на сервере CentOS 8. Этот метод развертывания не подходит для высокопроизводительных развертываний OpenStack. Ознакомьтесь с другими методами развертывания OpenStack, подходящими для производственных установок.