GNU/Linux >> Linux Esercitazione >  >> Ubuntu

OpenStack Liberty su Ubuntu 14.04 LTS – Configura Nova

Questa guida ti aiuta a configurare il servizio Nova (Compute) nell'ambiente OpenStak, in OpenStack, il servizio di calcolo (nodo) ospita i sistemi di cloud computing. Il calcolo di OpenStack è una parte importante in IaaS, interagisce con KeyStone per l'autenticazione, il servizio di immagine per il disco e le immagini e il dashboard per l'interfaccia utente e amministrativa.

OpenStack Compute può scalare orizzontalmente su hardware standard e scaricare immagini per avviare l'istanza di elaborazione.

Installa e configura il nodo controller:

Configurare il servizio Compute sul nodo Controller, accedere al server MySQL come utente root.

# mysql -u root -p

Crea il database nova.

CREATE DATABASE nova;

Concedi un'adeguata autorizzazione al database nova.

GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'password';

Sostituisci "password ” con una password adeguata. Esci da MySQL.

Carica le tue credenziali di amministratore dallo script dell'ambiente.

# source admin-openrc.sh

Crea l'utente nova per la creazione delle credenziali del servizio.

# openstack user create --domain default --password-prompt nova                                                                                        
User Password:
Repeat User Password:
+-----------+----------------------------------+
| Field     | Value                            |
+-----------+----------------------------------+
| domain_id | default                          |
| enabled   | True                             |
| id        | a25d5cdc7efa4375b0907dd615eebde0 |
| name      | nova                             |
+-----------+----------------------------------+

Aggiungi il ruolo di amministratore all'utente nova.

# openstack role add --project service --user nova admin

Crea l'entità del servizio nova.

# openstack service create --name nova --description "Nova" compute
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | Nova                             |
| enabled     | True                             |
| id          | ad302b8a4e884decb8ed0f4fdf319ba1 |
| name        | nova                             |
| type        | compute                          |
+-------------+----------------------------------+

Crea l'endpoint dell'API del servizio nova.

# openstack endpoint create --region RegionOne compute public http://controller:8774/v2/%\(tenant_id\)s
+--------------+-----------------------------------------+
| Field        | Value                                   |
+--------------+-----------------------------------------+
| enabled      | True                                    |
| id           | 3d7bba2b7c3446e7975f8b74c0cab712        |
| interface    | public                                  |
| region       | RegionOne                               |
| region_id    | RegionOne                               |
| service_id   | ad302b8a4e884decb8ed0f4fdf319ba1        |
| service_name | nova                                    |
| service_type | compute                                 |
| url          | http://controller:8774/v2/%(tenant_id)s |
+--------------+-----------------------------------------+

# openstack endpoint create --region RegionOne compute internal http://controller:8774/v2/%\(tenant_id\)s
+--------------+-----------------------------------------+
| Field        | Value                                   |
+--------------+-----------------------------------------+
| enabled      | True                                    |
| id           | 240d4430f1c442439c3835c12abf7533        |
| interface    | internal                                |
| region       | RegionOne                               |
| region_id    | RegionOne                               |
| service_id   | ad302b8a4e884decb8ed0f4fdf319ba1        |
| service_name | nova                                    |
| service_type | compute                                 |
| url          | http://controller:8774/v2/%(tenant_id)s |
+--------------+-----------------------------------------+

# openstack endpoint create --region RegionOne compute admin http://controller:8774/v2/%\(tenant_id\)s
+--------------+-----------------------------------------+
| Field        | Value                                   |
+--------------+-----------------------------------------+
| enabled      | True                                    |
| id           | 758d41f12fff4617bc7e4c12bd4502fc        |
| interface    | admin                                   |
| region       | RegionOne                               |
| region_id    | RegionOne                               |
| service_id   | ad302b8a4e884decb8ed0f4fdf319ba1        |
| service_name | nova                                    |
| service_type | compute                                 |
| url          | http://controller:8774/v2/%(tenant_id)s |
+--------------+-----------------------------------------+

Installa e configura i componenti del controller di elaborazione:

Installa i seguenti pacchetti sul nodo controller.

# apt-get install nova-api nova-cert nova-conductor nova-consoleauth nova-novncproxy nova-scheduler python-novaclient

Modifica /etc/nova/nova.conf.

# nano /etc/nova/nova.conf

Modifica le impostazioni seguenti e assicurati di inserire le voci nelle sezioni appropriate. Se non trovi una sezione esistente per le voci seguenti, potresti dover aggiungere quelle sezioni particolari al file.

[DEFAULT]
...
verbose = True
rpc_backend = rabbit
auth_strategy = keystone
## Management IP of Controller Node
my_ip = 192.168.12.21 
network_api_class = nova.network.neutronv2.api.API
security_group_api = neutron
linuxnet_interface_driver = nova.network.linux_net.NeutronLinuxBridgeInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver
enabled_apis=osapi_compute,metadata

[vnc]
## Management IP of Controller Node
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip

[database]
connection = mysql+pymysql://nova:password@controller/nova

## Replace "password" with the password you chose for nova database

[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = password

## Replace "password" with the password you chose for the openstack account in RabbitMQ.

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = nova
password = password

## Replace "password" with the password you chose for nova user in the identity service

[glance]
host = controller

[oslo_concurrency]
lock_path = /var/lib/nova/tmp

Compila il database di calcolo.

#  su -s /bin/sh -c "nova-manage db sync" nova

Riavvia i servizi di calcolo.

# service nova-api restart
# service nova-cert restart
# service nova-consoleauth restart
# service nova-scheduler restart
# service nova-conductor restart
# service nova-novncproxy restart

Rimuovere il file di database SQLite.

# rm -f /var/lib/nova/nova.sqlite

Installa e configura Nova ( su nodo di calcolo):

Ora installeremo e configureremo il servizio di calcolo su un nodo di calcolo, questo servizio supporta più hypervisor per distribuire istanze (VM). Il nostro nodo di calcolo utilizza l'hypervisor QEMU con estensione KVM per supportare la virtualizzazione con accelerazione hardware.

Verifica se il tuo calcolo supporta la virtualizzazione hardware.

# egrep -c '(vmx|svm)' /proc/cpuinfo
1

Se il comando restituisce un valore 1 o più, il tuo nodo di calcolo supporta la virtualizzazione.

Assicurati di aver abilitato il repository OpenStack Kilo su Compute Node o segui i passaggi seguenti per abilitarlo.

Installa il portachiavi e il repository dell'archivio Ubuntu Cloud.

# apt-get install software-properties-common

# add-apt-repository cloud-archive:liberty

Aggiorna il tuo sistema.

# apt-get update && apt-get dist-upgrade

Installa i seguenti pacchetti su ogni tuo nodo di calcolo.

# apt-get install nova-compute sysfsutils

Modifica /etc/nova/nova-compute.conf per abilitare QEMU.

# vi /etc/nova/nova-compute.conf

Cambia virt_type=kvm in qemu nella sezione libvirt.

[libvirt]
...
virt_type = qemu

Modifica /etc/nova/nova.conf.

# vi /etc/nova/nova.conf

Modifica le impostazioni seguenti e assicurati di inserire una voce nelle sezioni appropriate.

[DEFAULT]
...
verbose = True
rpc_backend = rabbit
auth_strategy = keystone
## Management IP of Compute Node
my_ip = 192.168.12.22
network_api_class = nova.network.neutronv2.api.API
security_group_api = neutron
linuxnet_interface_driver = nova.network.linux_net.NeutronLinuxBridgeInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver
[vnc]
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = password
## Replace "password" with the password you chose for the openstack account in RabbitMQ.

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = nova
password = password

## Replace "password" with the password you chose for nova user in the identity service

[glance]
host = controller

## Replace controller with your controller hostname

[oslo_concurrency]
lock_path = /var/lib/nova/tmp

Riavvia il servizio di calcolo.

# service nova-compute restart

Rimuovere il file di database SQLite.

# rm -f /var/lib/nova/nova.sqlite

Verifica operazione:

Carica le credenziali di amministratore su Controller Node.

# source admin-openrc.sh

Elenca i componenti del servizio di calcolo da verificare, esegui il comando seguente sul nodo controller.

# nova service-list
+----+------------------+--------------------------+----------+---------+-------+----------------------------+-----------------+
| Id | Binary           | Host                     | Zone     | Status  | State | Updated_at                 | Disabled Reason |
+----+------------------+--------------------------+----------+---------+-------+----------------------------+-----------------+
| 1  | nova-consoleauth | controller.itzgeek.local | internal | enabled | up    | 2015-11-25T14:11:25.000000 | -               |
| 2  | nova-cert        | controller.itzgeek.local | internal | enabled | up    | 2015-11-25T14:11:24.000000 | -               |
| 3  | nova-conductor   | controller.itzgeek.local | internal | enabled | up    | 2015-11-25T14:11:28.000000 | -               |
| 4  | nova-scheduler   | controller.itzgeek.local | internal | enabled | up    | 2015-11-25T14:11:24.000000 | -               |
| 5  | nova-compute     | compute.itzgeek.local    | nova     | enabled | up    | 2015-11-25T14:11:30.000000 | -               |
+----+------------------+--------------------------+----------+---------+-------+----------------------------+-----------------+

Dovresti ottenere un output con quattro componenti di servizio abilitati sul nodo controller e un componente di servizio sul nodo di calcolo.

Elenca le immagini nel catalogo del servizio di immagine per verificare la connettività tra il servizio di elaborazione e quello di immagine.

# nova image-list
+--------------------------------------+---------------------+--------+--------+
| ID                                   | Name                | Status | Server |
+--------------------------------------+---------------------+--------+--------+
| b19c4522-df31-4331-a2e1-5992abcd4ded | Ubuntu_14.04-x86_64 | ACTIVE |        |
+--------------------------------------+---------------------+--------+--------+

Questo è tutto!!!, hai configurato correttamente il servizio Nova. Il prossimo passo è configurare OpenStack Networking (Neutron).


Ubuntu
  1. OpenStack Kilo su Ubuntu 14.04.2 – Configura Nova

  2. OpenStack Kilo su Ubuntu 14.04.2 – Configura Sguardo

  3. OpenStack Kilo su Ubuntu 14.04.2 – Configura KeyStone #2

  4. OpenStack Kilo su Ubuntu 14.04.2 – Configura KeyStone #1

  5. OpenStack Kilo su Ubuntu 14.04.2 – Configura Swift #1

Come configurare l'indirizzo IP statico in Ubuntu 22.04 LTS

OpenStack Kilo su Ubuntu 14.04.2 – Configura Neutron #1

OpenStack Liberty su Ubuntu 14.04 LTS – Configura KeyStone #1

Installa OpenStack Liberty su Ubuntu 14.04 LTS

OpenStack Liberty su Ubuntu 14.04 – Configura Neutron #2

Installa e configura KVM in Ubuntu 20.04 LTS