Как да

Инсталирайте и конфигурирайте OpenStack Ussuri на CentOS 8

Инсталирайте и конфигурирайте OpenStack Ussuri на CentOS 8

Здравейте добри хора!. В днешното ръководство искам да разгледаме как можете да инсталирате и конфигурирате OpenStack Ussuri на CentOS 8 Linux Server. Това ръководство не е за инсталиране на силно достъпни, производствени OpenStack Cloud на сървъри CentOS 8, но е подходящо за POC и домашни лаборатории. OpenStack е безплатна софтуерна платформа с отворен код, създадена, за да помогне на потребителите да изградят частни облачни среди или облаци, изправени пред клиенти. Основните компоненти на OpenStack, които ще разгледаме в това ръководство, са:

Актуализирана статия: Инсталирайте OpenStack Victoria на CentOS 8 с Packstack

Както беше посочено по-рано, тази инсталация се извършва на един физически сървър с хардуерни спецификации по-долу:

Памет: 128 GB RAM CPU: Intel (R) Xeon (R) CPU E5-1650 v2 @ 3.50GHz (12 ядра) Диск: 3 x 4TB SATA мрежа: 1Gbit IPV4 Адреси: 1 x IPV4 + / 28 подмрежа (14 IP) ---------------------- -------------------------------------- $ grep -c ^ процесор / proc / cpuinfo 12 $ безплатно -h общо използвано безплатно споделено баф / кеш налично Mem: 125G 207M 125G 21M 244M 124G Суап: 0B 0B 0B $ lsblk ИМЕ MAJ: МИН RM РАЗМЕР RO TYPE MOUNTPOINT цикъл0 7: 0 0 3G 1 цикъл sda 8: 0 0 3.7T 0 диск sdb 8:16 0 3.7T 0 диск sdc 8:32 0 3.7T 0 диск sdd 8:32 0 3.7T 0 диск 

Това не означава, че хардуерните изисквания трябва да съвпадат по-горе, за да дадат перспектива на това, върху което работим.

Стъпка 1: Изисквания за предварителна настройка

Тъй като нашата инсталация на OpenStack на CentOS 8 ще използва Packstack, трябва да деактивираме някои услуги като firewalld и NetworkManager, за да гарантираме, че инсталацията ни е успешна. Ще инсталираме пакета мрежови скриптове, преди да деактивираме услугата NetworkManager. Това предоставя мрежова услуга, която се използва за управление на мрежи в система CentOS 8.

sudo dnf инсталиране -y мрежови скриптове sudo systemctl деактивиране - сега firewalld NetworkManager sudo systemctl активиране на мрежата && sudo systemctl стартиране на мрежа

Деактивирайте остарелите предупреждения:

sudo touch / etc / sysconfig / disable-deprecation-warnings

Потвърдете състоянието на мрежовата услуга:

$ systemctl статус мрежа ● мрежа.услуга - LSB: Издигане / намаляване на мрежата Заредено: заредено (/ etc / rc.г / иниция.г / мрежа; генериран) Активен: активен (излязъл) от петък 2020-07-03 17:36:41 CEST; Преди 11s Документи: man: systemd-sysv-generator (8) Процес: 14766 ExecStart = / etc / rc.г / иниция.г / старт на мрежата (код = излязъл, статус = 0 / УСПЕХ) 03 юли 17:36:40 osp.computingforgeeks.com systemd [1]: Стартиране на LSB: Извеждане на мрежата нагоре / надолу ... 03 юли 17:36:40 osp.computingforgeeks.com network [14766]: ПРЕДУПРЕЖДЕНИЕ: [мрежа] Използвате услуга „мрежа“, предоставена от „мрежови скриптове“, които сега са de> 03 юли 17:36:40 osp.computingforgeeks.com network [14766]: ПРЕДУПРЕЖДЕНИЕ: [network] „мрежови скриптове“ ще бъдат премахнати в една от следващите големи версии на RHEL.03 юли 17:36:40 осп.computingforgeeks.com network [14766]: ПРЕДУПРЕЖДЕНИЕ: [мрежа] Препоръчва се вместо това да се премине към „NetworkManager“ за управление на мрежата. 03 юли 17:36:41 osp.computingforgeeks.com network [14766]: Извеждане на интерфейс за обратна връзка: [ОК] юли 03 17:36:41 osp.computingforgeeks.com network [14766]: Извеждане на интерфейс enp5s0: ГРЕШКА: [ipv6_set_default_route] Даден IPv6 шлюз по подразбиране 'fe80:> 03 юли 17:36:41 osp.computingforgeeks.com мрежа [14766]: [ОК] юли 03 17:36:41 osp.computingforgeeks.com systemd [1]: Стартиран LSB: Издигане / намаляване на мрежата.

Потвърдете, че DNS работи отлично:

$ ping -c 2 google.com PING google.com (arn09s11-in-x0e.1е100.net (2a00: 1450: 400f: 807 :: 200e)) 56 байта с данни 64 байта от arn09s11-in-x0e.1е100.нето (2a00: 1450: 400f: 807 :: 200e): icmp_seq = 1 ttl = 120 време = 7.27 ms64 байта от arn09s11-in-x0e.1е100.нето (2a00: 1450: 400f: 807 :: 200e): icmp_seq = 2 ttl = 120 време = 7.34 ms --- google.статистика за компиране --- 2 предадени пакета, 2 получени, 0% загуба на пакети, време 3ms rtt мин / средно / макс / mdev = 7.269/7.306/7.343/0.037 мс

Също така деактивирайте SELinux, за да избегнете главоболие при отстраняване на неизправности.

sudo setenforce 0 sudo sed -i 's / ^ SELINUX =.* / SELINUX = разрешително / g '/ etc / selinux / config

Задайте името на хоста на вашия сървър.

sudo hostnamectl set-hostname openstackcloud.пример.com - статично

Уверете се, че локалната резолюция на име работи.

$ sudo vim / etc / hosts 192.168.21.20 отворен облак.пример.com

И накрая, актуализирайте системата си и инсталирайте основни помощни програми.

sudo dnf -y инсталиране vim wget curl telnet bash завършване мрежови скриптове dnf-utils

Стъпка 2: Инсталирайте пакети Packstack

Добавете хранилището за освобождаване на OpenStack Ussuri към вашата машина CentOS 8. Ако използвате тази статия, когато има по-нова версия на OpenStack, заменете щайн с име на издание.

sudo dnf config-manager - разрешаване на PowerTools sudo dnf install -y centos-release-openstack-ussuri sudo dnf -y update

След като хранилището е добавено, инсталирайте пакета packstack за CentOS.

sudo dnf install -y openstack-packstack

Активирайте разширените модули Virt:

sudo dnf -y модул активира virt

Система за актуализация:

sudo dnf update -y sudo systemctl рестартиране

Стъпка 3: Разположете OpenStack на CentOS 8 с packstack

Има два начина, по които можете да разположите OpenStack на CentOS 8 с packstack.

Метод 1: Обикновено внедряване на OpenStack с един възел - стойности по подразбиране (Само за прост POC)

За разполагане на OpenStack на един възел изпълнете следната команда:

sudo packstack --allinone

За да деактивирате демонстрацията, използвайте:

sudo packstack --allinone --provision-demo = n

Метод 2: Персонализирана инсталация с единичен възел

Трябва да генерираме конфигурационен файл, който ще се използва за инсталиране на OpenStack Cloud с Packstack. Този файл съдържа информация като услуги за инсталиране, конфигурация на съхранение, работа в мрежа e.T.° С.

sudo packstack \ --keystone-admin-passwd = 'MySr0ngAdminPassw0rd' \ --cinder-volumes-create = n \ --provision-demo = n \ --os-heat-install = y \ --os-ceilometer-install = y \ --os-horizon-ssl = n \ --os-неутрон-ml2-механизми-драйвери = openvswitch \ --os-neutron-ml2-tenant-network-types = vxlan \ --os-neutron-ml2 -type-drivers = vxlan, flat, vlan \ --os-neutron-l2-agent = openvswitch \ --nova-libvirt-virt-type = kvm \ --os-swift-storages = / dev / sdc \ - os-swift-storage-fstype = xfs \ --gen-answer-file / root / packstack-answers.текст

Където:

Прегледайте генерирания файл, за да се уверите, че са зададени правилни стойности, подходящи за вашето внедряване.

sudo vi / root / packstack-отговори.текст

Подгответе томовете от шлака

Ще използвам LVM дял за създаване на логически том на Cinder - cinder-volume.

За това имам / dev / sdd и / dev / sde в моя сървър. Ще създам устройство за рейд 0 от двата диска.

$ sudo mdadm --create --verbose / dev / md2 --level = 0 --raid-devices = 2 / dev / sdd / dev / sde mdadm: по подразбиране размерът на парчетата е 512K mdadm: По подразбиране за версия 1.2 метаданни mdadm: стартиран масив / dev / md2.

След това създайте Physical Volume, Volume Group и Thin Pool за Cinder:

$ sudo pvcreate / dev / md2 Физически том "/ dev / md2" е създаден успешно. $ sudo vgcreate cinder-volumes / dev / md2 Група томове "cinder-volumes" успешно създаде $ sudo lvcreate -l 100% БЕЗПЛАТНО -T пулверизирани обеми / пепелни обеми Създаден е логически том "cinder-volumes-pool".

Почистване на LVM и Raid устройства

Ако някога искате да повторите това, използвайте командите по-долу за почистване на LVM и RAID устройство.

# САМО ИЗПЪЛНЕТЕ, АКО ИСКАТЕ ДЕСТЕРИВАТЕ ЛОГИЧЕСКИ ОБЕМ И РАЙД УРЕДИ sudo vgremove cinder-volumes sudo mdadm --stop / dev / md2 sudo mdadm --zero-superblock / dev / sdd sudo mdadm --zero-superblock / dev / sde

Това може да се направи и на стандартни дялове без устройство Raid. Вижте примера по-долу.

$ sudo pvcreate / dev / sdd1 Физически том "/ dev / sdd1" е създаден успешно. $ sudo vgcreate cinder-volume / dev / sdd1 Група томове "cinder-volumes" успешно създаде $ sudo lvcreate -l 100% БЕЗПЛАТНО -T пулверизирани обеми / пепелни обеми Създаден е логически том "cinder-volumes-pool".

Ако нямате никакво необработено устройство или безплатен дял, можете също да използвате устройство с обратна връзка с помощта на -cinder-volumes-create = y докато генерира отговорите.txt файл или чрез добавяне на реда CINDER_VOLUMES_CREATE = y директно във файла.

Инсталирайте OpenStack на CentOS 8 с Packstack

Сега, когато разполагаме с файл с отговори, който можем да използваме, можем да стартираме OpenStack Cloud с помощта на командния ред packstack.

sudo packstack --answer-file / root / packstack-answers.txt - timeout = 1500 | тройник пакет-изход.текст

Вижте по-долу изход за инсталиране.

... Инсталиране: Почистване [ГОТОВО] Откриване на версия на протокол ip [ГОТОВО] Настройване на ssh ключове [ГОТОВО] Подготовка на сървъри [ГОТОВО] Предварително инсталиране на куклен и откриване на подробности за хостовете [ГОТОВО] Подготовка на предварително инсталирани записи [ГОТОВО] Настройване на CACERT [ ГОТОВО] Подготовка на записи в AMQP [ГОТОВО] Подготовка на записи на MariaDB [ГОТОВО] Фиксиране на Keystone LDAP конфигурационни параметри да бъдат undef, ако са празни [ГОТОВО] Подготовка на записи на трапецовидни камъни [ГОТОВО] Подготовка на погледи на записите [ГОТОВО] Проверка дали Cinder сървърът има обемни обеми vg [ГОТОВО] Подготовка на записи на Cinder [ГОТОВО] Подготовка на записи в API на Nova [ГОТОВО] Създаване на ssh ключове за миграция на Nova [ГОТОВО] Събиране на ssh ключове на хост за Nova миграция [ГОТОВО] Подготовка на записи на Nova Compute [ГОТОВО] Подготовка на записи на Нова планираща програма [ГОТОВО] Подготовка Нова VNC прокси записи [ГОТОВО] Подготовка на OpenStack Network-свързани записи на Nova [ГОТОВО] Подготовка на Нови общи записи [ГОТОВО] Подготовка на записи за API на неутрон [ГОТОВО] Подготовка на записи на Neutron L3 [ГОТОВО] Подготовка на записи на агента на Neutron L2 [ГОТОВО] Подготовка на записи на агент на неутрон DHCP [ГОТОВО] Подготовка на записи на агенти за измерване на неутрон [ГОТОВО] ] Проверка дали NetworkManager е активиран и изпълнява [ГОТОВО] Подготовка на клиентски записи на OpenStack [ГОТОВО] Подготовка на хоризонтални записи [ГОТОВО] Подготовка на бързи записи на строител [ГОТОВО] Подготовка на бързи прокси записи [ГОТОВО] Подготовка на бързи записи на съхранение [ГОТОВО] Подготовка на записи за ньоки [ГОТОВО] ] Подготовка на записи на Redis [ГОТОВО] Подготовка на записи на целометър [ГОТОВО] Подготовка на записи на Aodh [ГОТОВО] Подготовка на куклени манифести [ГОТОВО] Копиране на куклени модули и манифести [ГОТОВО] Тестване дали марионетката е приключила: 10.10.20.10_controller.pp [\] 10.10.20.10_controller.pp: [ГОТОВО] Прилагане 10.10.20.10_ мрежа.стр. 10.10.20.10_ мрежа.pp: [ГОТОВО] Прилагане 10.10.20.10_компютър.стр. 10.10.20.10_компютър.pp: [ГОТОВО] Прилагане на куклени манифести [ГОТОВО] Финализиране [ГОТОВО] **** Инсталацията завърши успешно ******

URL адресът за вход за таблото ще бъде показан след успешна инсталация.

Стъпка 4: Конфигурирайте мрежата OpenStack

Инсталаторът създава OVS мост автоматично и това може да бъде потвърдено с командата по-долу.

$ sudo ovs-vsctl show 9ed1d854-1950-4ea3-99b5-1e5be0f0f230 Manager "ptcp: 6640: 127.0.0.1 "is_connected: true Bridge br-ex Port" patch-provnet-f62aa13c-c6e5-41a2-bd30-9760f2773e07-to-br-int "Interface" patch-provnet-f62aa13c-c6e5-41a2-bd30-9760f2773e07-to- -int "тип: опции за корекция: peer =" patch-br-int-to-provnet-f62aa13c-c6e5-41a2-bd30-9760f2773e07 " Порт br-ex Интерфейс br-ex тип: вътрешен Bridge br-int fail_mode: сигурен порт br-int Интерфейс br-int тип: вътрешен порт "patch-br-int-to-provnet-f62aa13c-c6e5-41a2-bd30-9760f2773e07" Интерфейс "patch-br-int-to-provnet-f62aa13c-c6e5- 41a2-bd30-9760f2773e07 "тип: опции за кръпка: peer =" patch-provnet-f62aa13c-c6e5-41a2-bd30-9760f2773e07-to-br-int " ovs_version:" 2.12.0 "

Ако картографирането за интерфейса и OVS моста не е правилно, продължете да модифицирате конфигурациите на интерфейса и добавете интерфейса към вашия мост, който да се използва в OpenStack.

Създайте външен OVS мост на вашия интерфейс.

$ sudo vi / etc / sysconfig / network-scripts / ifcfg-eno1 УСТРОЙСТВО = eno1 ONBOOT = да TYPE = OVSPort DEVICETYPE = ovs OVS_BRIDGE = br-ex $ sudo vi / etc / sysconfig / network-scripts / ifcfg-br-ex УСТРОЙСТВО = br-ex BOOTPROTO = няма ONBOOT = да TYPE = OVSBridge DEVICETYPE = ovs USERCTL = да PEERDNS = да IPV6INIT = не IPADDR = 192.168.10.10 МРЕЖА = 255.255.255.0 GATEWAY = 192.168.10.1 DNS1 = 192.168.10.1

Преместете статичния си маршрут за конфигуриран интерфейс на br-ex.

sudo mv / etc / sysconfig / network-scripts / route-eno1 / etc / sysconfig / network-scripts / route-br-ex

Добавете мрежовия физически интерфейс към br-ex мост в Open vSwitch.

sudo ovs-vsctl add-port br-ex eno1; мрежа за рестартиране на systemctl.обслужване

Допълнителни мостове могат да бъдат конфигурирани по подобен начин. Ще трябва да конфигурирате Open vSwitch с правилни съпоставяния.

$ sudo vi / etc / neutron / plugins / ml2 / openvswitch_agent.ini bridge_mappings = extnet: br-ex

Рестартирайте услугите на Nova.

sudo systemctl рестартиране openstack-nova-compute sudo systemctl рестартиране openstack-nova-api sudo systemctl рестартиране openstack-nova-расписание

Създайте частна мрежа OpenStack.

$ source keystonerc_admin $ openstack мрежа създаване на частни

Потвърдете, че мрежата е създадена.

$ openstack мрежов списък + -------------------------------------- + ------ --- + -------------------------------------- + | ИД | Име | Подмрежи | + -------------------------------------- + --------- + -------------------------------------- + | a5e2a8f0-a953-4eb4-8fc1-2712c2c879d5 | частни | 238ec5c5-602d-4fb8-9fca-053d444d9187 | +--------------------------------------+---------+--------------------------------------+

Добавете подмрежа към създадената частна мрежа.

openstack subnet create --network private \ --allocation-pool start = 10.1.1.50, край = 10.1.1.200 \ --dns-nameserver 8.8.8.8 \ - обхват на подмрежа 10.1.1.0/24 \ private_subnet

Създайте обществена мрежа.

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

Добавете подмрежа за обществена мрежа.

 openstack subnet create --network public \ --allocation-pool start =,край = \ - не-dhcp \ - обхват на подмрежата / 27 public_subnet

Добавете нов рутер и конфигурирайте интерфейсите на рутера.

openstack router create --no-ha router1 openstack router set --external-gateway public router1 openstack router add subnet router1 private_subnet

Потвърдете мрежовите конфигурации, като проверите мрежовите имена

ip netns show

Стъпка 5: Конфигурирайте Cinder за използване на LVM

Конфигурирайте Cinder, за да използвате конфигуриран обем на LVM.

$ sudo vi / etc / cinder / cinder.conf enabled_backends = lvm volume_clear = none [lvm] volume_backend_name = lvm volume_driver = cinder.сила на звука.драйвери.лв.LVMVolumeDriver iscsi_ip_address = 192.168.10.10 iscsi_helper = lioadm volume_group = cinder-volumes volume_dir = / var / lib / cinder / volumes

След промяната трябва да рестартирате услугите на Cinder.

sudo systemctl рестартиране openstack-cinder-volume sudo systemctl рестартиране openstack-cinder-api

Рестартирайте услугите на Cinder след промяната.

sudo systemctl рестартиране openstack-cinder-volume sudo systemctl рестартиране openstack-cinder-api

Стъпка 6: Създайте вкусове и групи за сигурност

Нека добавим вкусове на OpenStack:

createtack flavor create --id 0 --ram 1024 --vcpus 1 --swap 2048 --disk 10 m1.малък отворен аромат за създаване --id 1 --ram 2048 --vcpus 1 - суап 4096 --диск 20 m1.малък отворен вкус създайте --id 2 --ram 4096 --vcpus 2 - суап 8192 - диск 40 m1.създаване на среден отворен вкус --id 3 --ram 8192 --vcpus 4 - суап 8192 - диск 80 m1.създаване на голям отворен вкус --id 4 --ram 16384 --vcpus 8 - суап 8192 - диск 160 m1.xlarge

И основна група за сигурност

openstack група за защита създаване на основно - описание "Разрешаване на основни портове" openstack правило за защита на група създаване - протокол TCP --dst-порт 22 --remote-ip 0.0.0.0/0 основно създаване на правило за защита на openstack - протокол TCP --dst-порт 80 --remote-ip 0.0.0.0/0 Основно правило за открита група за създаване на правила за защита - протокол TCP --dst-порт 443 --remote-ip 0.0.0.0/0 Основно правило за открита група за създаване на правила за защита - протокол ICMP --remote-ip 0.0.0.0/0 основно

Стъпка 7: Създайте частен ключ и добавете изображения на Glance

Създайте нов ключ за вашия акаунт или използвайте съществуващ.

$ ssh-keygen -q -N "" $ openstack keypair create --public-key = ~ /.ssh / id_rsa.кръчма администратор + ------------- + --------------------------------- ---------------- + | Поле | Стойност | + ------------- + ----------------------------------- -------------- + | пръстов отпечатък | e4: 00: 26: 64: 1c: f7: 20: 06: d6: 59: c6: 31: 20: 53: 59: c8 | | име | adminkey | | user_id | 9f7d84c3014445e7aac3048c9a0fd856 | +-------------+-------------------------------------------------+

За изображения на Glance вижте нашето предишно ръководство:

Как да добавяте изображения на Glance Cloud към OpenStack

Стъпка 8: Достъп до таблото за управление на OpenStack

За достъп до таблото за управление на OpenStack отидете на http: // openstackip / dashboard.

Вашите идентификационни данни за вход се съхраняват в keystonerc_admin файл във вашата домашна директория.

$ grep OS_PASSWORD keystonerc_admin износ OS_PASSWORD = "c11661db5ecf4ebd"

След като влезете в системата, можете да започнете да създавате екземпляри, които да работят по вашите проекти. Имаме редица статии от OpenStack, които можете да използвате.

Как да стартирам CentOS 8 Instance на OpenStack

Как да преименувате екземпляр / сървър в OpenStack

Как да преоразмерите / разширите обема на Cinder в OpenStack

Как да присвоите плаващ IP адрес на екземпляр в OpenStack

 Създайте екземпляр на OpenStack с фиксиран / статичен IP адрес

Как да създадете OpenStack проекти, потребители и роли

Как да преоразмерите екземпляра / виртуалната машина на OpenStack

Как да добавите опция „Отваряне с бележник“ към контекстното меню на всички файлове
Как да добавите отворен с опция Notepad към контекстното меню на всички файлове:- Мразите ли да намерите любимия си редактор или друго приложение от д...
Поправка Услугата за спулер за печат не работи Грешка В Windows 7/8/10
Коригирайте грешката „Услугата за буфер за печат не работи“ в Windows:- Когато се опитате да инсталирате принтер, в даден момент от време може да сте ...
Как да предотвратим проследяването на вашите местоположения чрез деактивиране на геолокацията
Как да предотвратим проследяването на вашите местоположения чрез деактивиране на геолокацията в браузъра:- Функцията за геолокация е сравнително нова ...