GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come distribuire TripleO Overcloud (Controller, Compute) su macchine virtuali CentOS 7

Bentornati utenti LinuxTechi, con la continuazione della nostra distribuzione openstack con approccio Tripleo. In questo tutorial discuteremo i passaggi su come distribuire server tripleo overcloud (controller e calcolo) tramite undercloud su macchine virtuali CentOS 7 ospitate in hypervisor KVM.

Nel nostro ultimo articolo abbiamo già discusso i dettagli di configurazione del nostro laboratorio e l'installazione di tripleo Undercloud su CentOS 7, per i passaggi di installazione sottocloud fare riferimento a:

  • Come installare Tripleo (Openstack su Openstack) UnderCloud su CentOS 7

Presumo che undercloud sia già installato e configurato. Iniziamo i passaggi per la distribuzione in overcloud.

Passaggio:1 Scarica e importa le immagini di Overcloud

Accedi al server undercloud come utente stack e scarica le immagini overcloud dall'URL sottostante, nel mio caso sto usando l'ultima versione di openstack (cioè pike), puoi scaricare le immagini che si adattano al tuo ambiente e alla versione openstack,

https://images.rdoproject.org/pike/delorean/current-tripleo-rdo/

[[email protected] ~]$ sudo wget https://images.rdoproject.org/pike/delorean/current-tripleo-rdo/overcloud-full.tar --no-check-certificate
[[email protected] ~]$ sudo wget https://images.rdoproject.org/pike/delorean/current-tripleo-rdo/ironic-python-agent.tar --no-check-certificate
[[email protected] ~]$ mkdir ~/images
[[email protected] ~]$ tar -xpvf ironic-python-agent.tar -C ~/images/
[[email protected] ~]$ tar -xpvf overcloud-full.tar -C ~/images/
[[email protected] ~]$  source ~/stackrc
(undercloud) [[email protected] ~]$ openstack overcloud image upload --image-path ~/images/

Ora visualizza le immagini caricate

(undercloud) [[email protected] ~]$ openstack image list

+--------------------------------------+------------------------+--------+
| ID                                   | Name                   | Status |
+--------------------------------------+------------------------+--------+
| 003300db-bbe1-4fc3-af39-bca9f56cc169 | bm-deploy-kernel       | active |
| 1a1d7ddf-9287-40fb-aea5-3aacf41e76a2 | bm-deploy-ramdisk      | active |
| be978ecb-2d33-4faf-80c0-8cb0625f1a45 | overcloud-full         | active |
| 0c0c74bc-0b0f-4324-81b4-e0abeed9455e | overcloud-full-initrd  | active |
| 0bf28731-d645-401f-9557-f24b3b8a6912 | overcloud-full-vmlinuz | active |
+--------------------------------------+------------------------+--------+
(undercloud) [[email protected] ~]$

Passaggio:2 Aggiungi il server DNS nella rete undercloud

Usa il comando openstack sotto per visualizzare la sottorete

(undercloud) [[email protected] ~]$ openstack subnet list
+--------------------------------------+-----------------+--------------------------------------+------------------+
| ID                                   | Name            | Network                              | Subnet           |
+--------------------------------------+-----------------+--------------------------------------+------------------+
| b3c8033d-ea58-44f3-8de1-5d5e29cad74b | ctlplane-subnet | fe1c940b-7f89-428a-86e1-2d134ce8d807 | 192.168.126.0/24 |
+--------------------------------------+-----------------+--------------------------------------+------------------+
(undercloud) [[email protected] ~]$ openstack subnet show  b3c8033d-ea58-44f3-8de1-5d5e29cad74b

Usa il comando seguente per aggiungere il server DNS

(undercloud) [[email protected] ~]$ neutron subnet-update  b3c8033d-ea58-44f3-8de1-5d5e29cad74b --dns-nameserver 192.168.122.1

Ora verifica se il server DNS è stato aggiunto o meno

(undercloud) [[email protected] ~]$ openstack subnet show b3c8033d-ea58-44f3-8de1-5d5e29cad74b

L'output sarebbe qualcosa come di seguito

Fase:3 Crea VM per Controller &Compute di Overcloud

Vai al server fisico o all'hypervisor KVM e definisci due VM per il calcolo e una per il nodo controller.

Usa i comandi seguenti per creare un'immagine qcow2 per controller e VM di calcolo.

[[email protected] ~]# cd /var/lib/libvirt/images/
[[email protected] images]# qemu-img create -f qcow2 -o preallocation=metadata overcloud-controller.qcow2 60G
[[email protected] images]# qemu-img create -f qcow2 -o preallocation=metadata overcloud-compute1.qcow2 60G
[[email protected] images]# qemu-img create -f qcow2 -o preallocation=metadata overcloud-compute2.qcow2 60G
[[email protected] images]# chown qemu:qemu overcloud-*

Utilizzare i comandi Virt-install e virsh define di seguito per creare e definire macchine virtuali overcloud nell'hypervisor KVM,

Nota:cambia la famiglia di RAM, vcpu e CPU adatta al tuo ambiente

[[email protected] ~]# virt-install --ram 8192 --vcpus 2 --os-variant rhel7 --disk path=/var/lib/libvirt/images/overcloud-controller.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc --network network:provisioning --network network:external --name overcloud-controller --cpu Haswell,+vmx --dry-run --print-xml > /tmp/overcloud-controller.xml
[[email protected] ~]#
[[email protected] ~]# virt-install --ram 8192 --vcpus 2 --os-variant rhel7 --disk path=/var/lib/libvirt/images/overcloud-compute1.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc --network network:provisioning --network network:external --name overcloud-compute1 --cpu Haswell,+vmx --dry-run --print-xml > /tmp/overcloud-compute1.xml
[[email protected] ~]#
[[email protected] ~]# virt-install --ram 8192 --vcpus 2 --os-variant rhel7 --disk path=/var/lib/libvirt/images/overcloud-compute2.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc --network network:provisioning --network network:external --name overcloud-compute2 --cpu Haswell,+vmx --dry-run --print-xml > /tmp/overcloud-compute2.xml
[[email protected] ~]#
[[email protected] ~]# virsh define --file /tmp/overcloud-controller.xml
[[email protected] ~]# virsh define --file /tmp/overcloud-compute1.xml
[[email protected] ~]# virsh define --file /tmp/overcloud-compute2.xml

Verifica lo stato delle macchine virtuali utilizzando il comando virsh list,

[[email protected] ~]# virsh list --all | grep overcloud*
 -     overcloud-compute1             shut off
 -     overcloud-compute2             shut off
 -     overcloud-controller           shut off
[[email protected] ~]#

Fase:4 Installa e configura vbmc (Virtual BMC) su undercloud

Vbmc è uno strumento di gestione dell'alimentazione per macchine virtuali, le VM possono essere gestite tramite ipmitool.

Usando vbmc possiamo spegnere, accendere e anche verificare lo stato di alimentazione di una VM. Abbiamo bisogno di vbmc poiché undercloud richiederà l'accensione/spegnimento delle VM durante la distribuzione.

Nota: vbmc è la sostituzione di pxe_ssh poiché pxe_ssh è ora deprezzato.

Esegui sotto il comando yum install per installare virtualbmc,

[[email protected] ~]$ sudo yum install python-virtualbmc -y

Scambia le chiavi ssh da cloudcloud vm al server fisico (hypervisor KVM)

[[email protected] ~]$ ssh-copy-id [email protected]

Aggiungi le macchine virtuali a vbmc utilizzando i seguenti comandi, nel mio caso libvirt-uri è "qemu+ssh://[email protected]

[[email protected] ~]$ vbmc add overcloud-compute1 --port 6001 --username admin --password password --libvirt-uri qemu+ssh://[email protected]/system
[[email protected] ~]$ vbmc start overcloud-compute1
[[email protected] ~]$ vbmc add overcloud-compute2 --port 6002 --username admin --password password --libvirt-uri qemu+ssh://[email protected]/system
[[email protected] ~]$ vbmc start overcloud-compute2
[[email protected] ~]$ vbmc add overcloud-controller --port 6003 --username admin --password password --libvirt-uri qemu+ssh://[email protected]/system
[[email protected] ~]$ vbmc start overcloud-controller

Verifica lo stato delle VM e le relative porte,

[[email protected] ~]$ vbmc list
+----------------------+---------+---------+------+
|     Domain name      |  Status | Address | Port |
+----------------------+---------+---------+------+
|  overcloud-compute1  | running |    ::   | 6001 |
|  overcloud-compute2  | running |    ::   | 6002 |
| overcloud-controller | running |    ::   | 6003 |
+----------------------+---------+---------+------+
[[email protected] ~]$

Per visualizzare lo stato di alimentazione delle macchine virtuali, utilizzare il comando seguente

[[email protected] ~]$ ipmitool -I lanplus -U admin -P password -H 127.0.0.1 -p 6001 power status
Chassis Power is off
[[email protected] ~]$ ipmitool -I lanplus -U admin -P password -H 127.0.0.1 -p 6002 power status
Chassis Power is off
[[email protected] ~]$ ipmitool -I lanplus -U admin -P password -H 127.0.0.1 -p 6003 power status
Chassis Power is off
[[email protected] ~]$

Passaggio:5 Crea e importa l'inventario dei nodi overcloud tramite file json

Creiamo un file di inventario (json), che includerà i dettagli dei server overcloud (controller e calcolo).

Per prima cosa acquisisci l'indirizzo mac di nodi su cloud, per questo l'hypervisor kvm esegue i comandi seguenti

[[email protected] ~]# virsh domiflist overcloud-compute1 | grep provisioning
-          network    provisioning virtio      52:54:00:08:63:bd
[[email protected] ~]# virsh domiflist overcloud-compute2 | grep provisioning
-          network    provisioning virtio      52:54:00:72:1d:21
[[email protected] ~]# virsh domiflist overcloud-controller | grep provisioning
-          network    provisioning virtio      52:54:00:0a:dd:57
[[email protected] ~]#

Ora crea un file json con il nome "overcloud-stackenv.json"

[[email protected] ~]$ vi overcloud-stackenv.json
{
  "nodes": [
    {
      "arch": "x86_64",
      "disk": "60",
      "memory": "8192",
      "name": "overcloud-compute1",
      "pm_user": "admin",
      "pm_addr": "127.0.0.1",
      "pm_password": "password",
      "pm_port": "6001",
      "pm_type": "pxe_ipmitool",
      "mac": [
        "52:54:00:08:63:bd"
      ],
      "cpu": "2"
    },
    {
      "arch": "x86_64",
      "disk": "60",
      "memory": "8192",
      "name": "overcloud-compute2",
      "pm_user": "admin",
      "pm_addr": "127.0.0.1",
      "pm_password": "password",
      "pm_port": "6002",
      "pm_type": "pxe_ipmitool",
      "mac": [
        "52:54:00:72:1d:21"
      ],
      "cpu": "2"
    },
    {
      "arch": "x86_64",
      "disk": "60",
      "memory": "8192",
      "name": "overcloud-controller",
      "pm_user": "admin",
      "pm_addr": "127.0.0.1",
      "pm_password": "password",
      "pm_port": "6003",
      "pm_type": "pxe_ipmitool",
      "mac": [
        "52:54:00:0a:dd:57"
      ],
      "cpu": "2"
    }
  ]
}

Sostituisci l'indirizzo mac delle VM che si adatta al tuo ambiente.

Importa i nodi ed esegui l'introspezione utilizzando il comando seguente

[[email protected] ~]$ source stackrc
(undercloud) [[email protected] ~]$ openstack overcloud node import --introspect --provide overcloud-stackenv.json

L'output del comando precedente dovrebbe essere qualcosa di simile al seguente:

Visualizza i dettagli del nodo overcloud utilizzando il comando seguente e dobbiamo assicurarci che lo stato di provisioning di ciascun nodo sia disponibile:

(undercloud) [[email protected] ~]$ openstack baremetal node list
+--------------------------------------+----------------------+---------------+-------------+--------------------+-------------+
| UUID                                 | Name                 | Instance UUID | Power State | Provisioning State | Maintenance |
+--------------------------------------+----------------------+---------------+-------------+--------------------+-------------+
| 44884524-a959-4477-87f9-143f716f422b | overcloud-compute1   | None          | power off   | available          | False       |
| 445ced0a-d449-419e-8c43-e0f124017300 | overcloud-compute2   | None          | power off   | available          | False       |
| a625fdfa-9a18-4d7c-aa36-492575f19307 | overcloud-controller | None          | power off   | available          | False       |
+--------------------------------------+----------------------+---------------+-------------+--------------------+-------------+
(undercloud) [[email protected] ~]$
Imposta ruoli o profilo su nodi overcloud:

Per impostare il ruolo su ciascun nodo overcloud, utilizzare i comandi seguenti. Macchine virtuali con nome "overloud-compute1/2 ” agirà come un calcolo openstack nodo e VM con il nome "overcloud-controller ” fungerà da calcolo openstack nodo.

(undercloud) [[email protected] ~]$ openstack baremetal node set --property capabilities='profile:compute,boot_option:local' 44884524-a959-4477-87f9-143f716f422b
(undercloud) [[email protected] ~]$ openstack baremetal node set --property capabilities='profile:compute,boot_option:local' 445ced0a-d449-419e-8c43-e0f124017300
(undercloud) [[email protected] ~]$ openstack baremetal node set --property capabilities='profile:control,boot_option:local' a625fdfa-9a18-4d7c-aa36-492575f19307

Ora usa il comando sotto openstack per verificare il ruolo di ciascun nodo,

(undercloud) [[email protected] ~]$ openstack overcloud profiles list
+--------------------------------------+----------------------+-----------------+-----------------+-------------------+
| Node UUID                            | Node Name            | Provision State | Current Profile | Possible Profiles |
+--------------------------------------+----------------------+-----------------+-----------------+-------------------+
| 44884524-a959-4477-87f9-143f716f422b | overcloud-compute1   | available       | compute         |                   |
| 445ced0a-d449-419e-8c43-e0f124017300 | overcloud-compute2   | available       | compute         |                   |
| a625fdfa-9a18-4d7c-aa36-492575f19307 | overcloud-controller | available       | control         |                   |
+--------------------------------------+----------------------+-----------------+-----------------+-------------------+
(undercloud) [[email protected] ~]$

Fase:6 Avvia la distribuzione dei nodi Overcloud

A partire da ora abbiamo completato tutti i passaggi necessari per la distribuzione overcloud dal server undercloud,

Esegui il comando openstack di seguito da undercloud per avviare la distribuzione,

(undercloud) [[email protected] ~]$ openstack overcloud deploy --templates   --control-scale 1 --compute-scale 2 --control-flavor control --compute-flavor compute

Nel comando precedente utilizziamo opzioni come "–compute-scale 2 ” e “–scala di controllo 1 ", significa che utilizzeremo due nodi di calcolo e un nodo controller.

Si prega di notare che il comando sopra richiederà ca. Da 40 a 50 minuti o più a seconda dell'hardware o delle prestazioni della macchina virtuale. Quindi, devi aspettare fino a quando il comando precedente non sarà terminato

L'output del comando precedente dovrebbe essere qualcosa del tipo di seguito:

Esegui il comando sottostante per visualizzare l'indirizzo IP dei nodi overcloud

(undercloud) [[email protected] ~]$ nova list
+--------------------------------------+-------------------------+--------+------------+-------------+--------------------------+
| ID                                   | Name                    | Status | Task State | Power State | Networks                 |
+--------------------------------------+-------------------------+--------+------------+-------------+--------------------------+
| 8c1a556f-9f79-449b-ae15-d111a96b8349 | overcloud-controller-0  | ACTIVE | -          | Running     | ctlplane=192.168.126.107 |
| 31e54540-79a3-4182-8ecc-6e0f8cd3db11 | overcloud-novacompute-0 | ACTIVE | -          | Running     | ctlplane=192.168.126.101 |
| edab92ce-825f-48c0-ba83-1445572c15b9 | overcloud-novacompute-1 | ACTIVE | -          | Running     | ctlplane=192.168.126.106 |
+--------------------------------------+-------------------------+--------+------------+-------------+--------------------------+
(undercloud) [[email protected] ~]$

Connettiti ai nodi Over Cloud utilizzando "heat-admin ' utente:

(undercloud) [[email protected] ~]$ ssh [email protected]
Last login: Tue Jan 16 14:32:55 2018 from gateway
[[email protected] ~]$ sudo -i
[[email protected] ~]# hostname -f
overcloud-controller-0.localdomain
[[email protected] ~]#

Allo stesso modo possiamo connetterci al resto dei nodi di calcolo

Una volta che l'overcloud è stato distribuito correttamente, tutte le credenziali dell'amministratore vengono archiviate nel file "overcloudrc ” nella directory home dell'utente dello stack

(undercloud) [[email protected] ~]$ cat ~/overcloudrc

Ora prova ad accedere a Horizon Dashboard usando le credenziali menzionate nel file overcloudrc.

Apri il browser web e digita l'URL:

http://192.168.126.103/dashboard

Ciò conferma che l'overcloud è stato distribuito correttamente. Ora crea progetti, reti e carica immagini cloud e poi inizi a creare macchine virtuali. Questo è tutto da questo tutorial, per favore condividi il tuo feedback e commenti.


Cent OS
  1. Come distribuire Mattermost su CentOS 7

  2. Come distribuire Rocket.Chat su CentOS 7

  3. Come distribuire CDP su un server CentOS

  4. Come installare ownCloud su CentOS 7

  5. Come distribuire Ruby + Passenger + Nginx su CentOS Linux

Come configurare l'indirizzo IP statico in RHEL 8 / CentOS 8

Come installare Docker CE su CentOS 8 / RHEL 8

Come installare Prometheus su CentOS 8 / RHEL 8

Come distribuire un cluster frammentato MongoDB su CentOS 7

Come installare Ansible AWX su CentOS 7

Installazione del controller di dominio Samba 4 su CentOS 7