GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So stellen Sie TripleO Overcloud (Controller, Compute) auf CentOS 7-VMs bereit

Willkommen zurück LinuxTechi-Benutzer, mit der Fortsetzung unserer Openstack-Bereitstellung mit Tripleo-Ansatz. In diesem Tutorial werden wir die Schritte besprechen, wie wir Tripleo-Overcloud-Server (Controller und Compute) über Undercloud auf CentOS 7-VMs bereitstellen können, die im KVM-Hypervisor gehostet werden.

In unserem letzten Artikel haben wir bereits unsere Lab-Setup-Details und die Installation von Tripleo Undercloud auf CentOS 7 besprochen, für Undercloud-Installationsschritte siehe:

  • So installieren Sie Tripleo (Openstack auf Openstack) UnderCloud auf CentOS 7

Ich gehe davon aus, dass undercloud bereits installiert und konfiguriert ist. Beginnen wir mit den Schritten zur Overcloud-Bereitstellung.

Schritt:1 Overcloud-Bilder herunterladen und importieren

Melden Sie sich als Stack-Benutzer beim Undercloud-Server an und laden Sie die Overcloud-Bilder von der folgenden URL herunter. In meinem Fall verwende ich die neueste Version von Openstack (dh Pike). Sie können die Bilder herunterladen, die zu Ihrer Umgebung und Openstack-Version passen,

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/

Sehen Sie sich jetzt die hochgeladenen Bilder an

(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] ~]$

Schritt:2 DNS-Server im Undercloud-Netzwerk hinzufügen

Verwenden Sie den folgenden Openstack-Befehl, um das Subnetz anzuzeigen

(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

Verwenden Sie den folgenden Befehl, um den DNS-Server hinzuzufügen

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

Überprüfen Sie nun, ob ein DNS-Server hinzugefügt wurde oder nicht

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

Die Ausgabe wäre so etwas wie unten

Schritt:3 Erstellen Sie VMs für Overclouds Controller &Compute

Wechseln Sie zum physischen Server oder KVM-Hypervisor und definieren Sie zwei VMs für die Berechnung und eine für den Controller-Knoten.

Verwenden Sie die folgenden Befehle, um ein qcow2-Image für Controller- und Compute-VMs zu erstellen.

[[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-*

Verwenden Sie den folgenden Befehl Virt-install und virsh define, um Overcloud-VMs im KVM-Hypervisor zu erstellen und zu definieren,

Hinweis:Ändern Sie die RAM-, VCPU- und CPU-Familie, die zu Ihrer Umgebung passt

[[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

Überprüfen Sie den Status der VMs mit dem Befehl virsh list,

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

Schritt:4 vbmc (Virtual BMC) auf Undercloud installieren und konfigurieren

Vbmc ist ein Power-Management-Tool für virtuelle Maschinen, VMs können über ipmitool verwaltet werden.

Mit vbmc können wir den Energiestatus einer VM ausschalten, einschalten und auch überprüfen. Wir benötigen vbmc, da Undercloud VMs während der Bereitstellung ein-/ausschalten muss.

Hinweis: vbmc ist der Ersatz von pxe_ssh, da pxe_ssh jetzt abgeschrieben wird.

Führen Sie den folgenden Befehl yum install aus, um virtualbmc zu installieren,

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

Tauschen Sie die SSH-Schlüssel von cloudcloud vm auf den physischen Server (KVM-Hypervisor) aus

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

Fügen Sie die VMs mit den folgenden Befehlen zu vbmc hinzu. In meinem Fall ist 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

Überprüfen Sie den Status der VMs und ihre Ports,

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

Um den Energiestatus von VMs anzuzeigen, verwenden Sie den folgenden Befehl,

[[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] ~]$

Schritt:5 Overcloud-Knoteninventar über JSON-Datei erstellen und importieren

Lassen Sie uns eine Bestandsdatei (json) erstellen, die die Details der Overcloud-Server (Controller und Compute) enthält.

Erfassen Sie zuerst die MAC-Adresse von Over-Cloud-Knoten, führen Sie dazu den kvm-Hypervisor aus und führen Sie die folgenden Befehle aus

[[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] ~]#

Erstellen Sie nun eine JSON-Datei mit dem Namen „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"
    }
  ]
}

Ersetzen Sie die MAC-Adresse der VMs, die zu Ihrer Umgebung passt.

Importieren Sie die Knoten und führen Sie die Selbstprüfung mit dem folgenden Befehl durch

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

Die Ausgabe des obigen Befehls sollte in etwa so aussehen:

Zeigen Sie die Details des Overcloud-Knotens mit dem folgenden Befehl an und wir müssen sicherstellen, dass der Bereitstellungsstatus jedes Knotens verfügbar sein sollte:

(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] ~]$
Rollen oder Profil auf Overcloud-Knoten festlegen:

Verwenden Sie die folgenden Befehle, um die Rolle für jeden Overcloud-Knoten festzulegen. VMs mit dem Namen „overloud-compute1/2 “ fungiert als Openstack-Rechen Knoten und VM mit dem Namen „overcloud-controller “ fungiert als Openstack-Rechen Knoten.

(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

Verwenden Sie nun den folgenden Openstack-Befehl, um die Rolle jedes Knotens zu überprüfen,

(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] ~]$

Schritt:6 Starten Sie die Bereitstellung von Overcloud-Knoten

Bis jetzt haben wir alle Schritte abgeschlossen, die für die Overcloud-Bereitstellung vom Undercloud-Server erforderlich sind,

Führen Sie den folgenden Openstack-Befehl von undercloud aus, um die Bereitstellung zu starten,

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

Im obigen Befehl verwenden wir Optionen wie „–compute-scale 2 “ und “–Kontrollskala 1 “, bedeutet dies, dass wir zwei Rechenknoten und einen Controller-Knoten verwenden werden.

Bitte beachten Sie, dass der obige Befehl ca. 40 bis 50 Minuten oder mehr, je nach Hardware- oder VM-Leistung. Sie müssen also warten, bis der obige Befehl nicht beendet wird

Die Ausgabe des obigen Befehls sollte in etwa so aussehen:

Führen Sie den folgenden Befehl aus, um die IP-Adresse der Overcloud-Knoten anzuzeigen

(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] ~]$

Stellen Sie mit „heat-admin“ eine Verbindung zu Over Cloud-Knoten her ‘Benutzer:

(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] ~]#

Ebenso können wir uns mit den restlichen Rechenknoten verbinden

Sobald die Overcloud erfolgreich bereitgestellt wurde, werden alle Administratoranmeldeinformationen in der Datei „overcloudrc gespeichert ” im Home-Verzeichnis des Stack-Benutzers

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

Versuchen Sie nun, mit den in der overcloudrc-Datei genannten Anmeldeinformationen auf das Horizon-Dashboard zuzugreifen.

Öffnen Sie den Webbrowser und geben Sie die URL ein:

http://192.168.126.103/dashboard

Dies bestätigt, dass Overcloud erfolgreich bereitgestellt wurde. Erstellen Sie jetzt Projekte, Netzwerke und laden Sie Cloud-Images hoch, und dann beginnen Sie mit der Erstellung virtueller Maschinen. Das war alles aus diesem Tutorial, bitte teilen Sie uns Ihr Feedback und Ihre Kommentare mit.


Cent OS
  1. So stellen Sie Mattermost auf CentOS 7 bereit

  2. So stellen Sie Rocket.Chat auf CentOS 7 bereit

  3. So stellen Sie CDP auf einem CentOS-Server bereit

  4. So installieren Sie ownCloud auf CentOS 7

  5. So stellen Sie Ruby + Passenger + Nginx unter CentOS Linux bereit

So konfigurieren Sie eine statische IP-Adresse in RHEL 8 / CentOS 8

So installieren Sie Docker CE auf CentOS 8 / RHEL 8

So installieren Sie Prometheus unter CentOS 8 / RHEL 8

So stellen Sie einen MongoDB Sharded Cluster unter CentOS 7 bereit

So installieren Sie Ansible AWX unter CentOS 7

Installation des Samba 4-Domänencontrollers unter CentOS 7