Devstack ist eine Sammlung von Skripten, die die neueste Version der Openstack-Umgebung auf einer virtuellen Maschine, einem persönlichen Laptop oder einem Desktop bereitstellen. Wie der Name schon sagt, wird es für Entwicklungsumgebungen verwendet und kann für Funktionstests von Openstack Project verwendet werden, und manchmal kann die von devstack bereitgestellte Openstack-Umgebung auch für Demonstrationszwecke und für einige grundlegende PoC verwendet werden.
In diesem Artikel werde ich zeigen, wie man Openstack auf CentOS 7 / RHEL 7 System mit Devstack installiert. Im Folgenden sind die Mindestsystemanforderungen aufgeführt,
- Dual-Core-Prozessor
- Mindestens 8 GB RAM
- 60-GB-Festplatte
- Internetverbindung
Im Folgenden finden Sie die Details meines Lab-Setups für die Openstack-Bereitstellung mit devstack
- Mindest installiertes CentOS 7 / RHEL 7 (VM)
- Hostname – devstack-linuxtechi
- IP-Adresse – 169.144.104.230
- 10 vCPU
- 14 GB Arbeitsspeicher
- 60-GB-Festplatte
Beginnen wir mit den Bereitstellungsschritten, melden Sie sich bei Ihrem CentOS 7- oder RHEL 7-System an
Schritt:1 Aktualisieren Sie Ihr System und legen Sie den Hostnamen fest
Führen Sie den folgenden yum-Befehl aus, um die neuesten Updates auf das System anzuwenden, und führen Sie dann einen Neustart durch. Setzen Sie auch nach dem Neustart den Hostnamen
~]# yum update -y && reboot ~]# hostnamectl set-hostname "devstack-linuxtechi" ~]# exec bash
Schritt:2) Erstellen Sie einen Stack-Benutzer und weisen Sie ihm sudo-Rechte zu
Alle Installationsschritte sind unter einem Benutzernamen „stack“ durchzuführen “, beziehen Sie sich auf die folgenden Befehle, um Sudo-Rechte zu erstellen und zuzuweisen .
[[email protected] ~]# useradd -s /bin/bash -d /opt/stack -m stack [[email protected] ~]# echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack stack ALL=(ALL) NOPASSWD: ALL [[email protected] ~]#
Schritt:3) Git installieren und Devstack herunterladen
Wechseln Sie zum Stack-Benutzer und installieren Sie das Git-Paket mit dem Befehl yum
[[email protected] ~]# su - stack [[email protected] ~]$ sudo yum install git -y
Laden Sie Devstack mit dem folgenden Git-Befehl herunter,
[[email protected] ~]$ git clone https://git.openstack.org/openstack-dev/devstack Cloning into 'devstack'... remote: Counting objects: 42729, done. remote: Compressing objects: 100% (21438/21438), done. remote: Total 42729 (delta 30283), reused 32549 (delta 20625) Receiving objects: 100% (42729/42729), 8.93 MiB | 3.77 MiB/s, done. Resolving deltas: 100% (30283/30283), done. [[email protected] ~]$
Schritt:4) local.conf-Datei erstellen und Openstack-Installation starten
Um die Openstack-Installation mit dem Devstack-Skript (stack.sh) zu starten, müssen wir zuerst die local.conf-Datei vorbereiten, die zu unserem Setup passt.
Wechseln Sie in den Ordner devstack und erstellen Sie die local.conf-Datei mit dem folgenden Inhalt
[[email protected] ~]$ cd devstack/ [[email protected] devstack]$ vi local.conf [[local|localrc]] #Specify the IP Address of your VM / Server in front of HOST_IP Parameter HOST_IP=169.144.104.230 #Specify the name of interface of your Server or VM in front of FLAT_INTERFACE FLAT_INTERFACE=eth0 #Specify the Tenants Private Network and its Size FIXED_RANGE=10.4.128.0/20 FIXED_NETWORK_SIZE=4096 #Specify the range of external IPs that will be used in Openstack for floating IPs FLOATING_RANGE=172.24.10.0/24 #Number Host on which Openstack will be deployed MULTI_HOST=1 #Installation Logs file LOGFILE=/opt/stack/logs/stack.sh.log #KeyStone Admin Password / Database / RabbitMQ / Service Password ADMIN_PASSWORD=openstack DATABASE_PASSWORD=db-secret RABBIT_PASSWORD=rb-secret SERVICE_PASSWORD=sr-secret #Additionally installing Heat Service enable_plugin heat https://git.openstack.org/openstack/heat master enable_service h-eng h-api h-api-cfn h-api-cw
Speichern und beenden Sie die Datei.
Setzen Sie die Berechtigungen auf /opt/stack
[[email protected] devstack]$ sudo chmod 755 /opt/stack
Starten Sie nun die Bereitstellung bzw. Installation durch Ausführen des Skripts (stack.sh)
[[email protected] devstack]$ ./stack.sh
Je nach Internetverbindung dauert es zwischen 30 und 45 Minuten.
Wenn Sie beim Ausführen des obigen Befehls die folgenden Fehler erhalten haben
+functions-common:git_timed:607 timeout -s SIGINT 0 git clone git://git.openstack.org/openstack/requirements.git /opt/stack/requirements --branch master fatal: unable to connect to git.openstack.org: git.openstack.org[0: 104.130.246.85]: errno=Connection timed out git.openstack.org[1: 2001:4800:7819:103:be76:4eff:fe04:77e6]: errno=Network is unreachable Cloning into '/opt/stack/requirements'... +functions-common:git_timed:610 [[ 128 -ne 124 ]] +functions-common:git_timed:611 die 611 'git call failed: [git clone' git://git.openstack.org/openstack/requirements.git /opt/stack/requirements --branch 'master]' +functions-common:die:195 local exitcode=0 [Call Trace] ./stack.sh:758:git_clone /opt/stack/devstack/functions-common:547:git_timed /opt/stack/devstack/functions-common:611:die [ERROR] /opt/stack/devstack/functions-common:611 git call failed: [git clone git://git.openstack.org/openstack/requirements.git /opt/stack/requirements --branch master] Error on exit /bin/sh: brctl: command not found [[email protected] devstack]$
Um diese Fehler zu beheben, führen Sie die folgenden Schritte aus
Installieren Sie bridge-utils Paket und ändern Sie den Parameter von „GIT_BASE=${GIT_BASE:-git://git.openstack.org} “ zu „GIT_BASE=${GIT_BASE:-https://www.github.com} ” in der stackrc-Datei
[[email protected] devstack]$ sudo yum install bridge-utils -y [[email protected] devstack]$ vi stackrc …… #GIT_BASE=${GIT_BASE:-git://git.openstack.org} GIT_BASE=${GIT_BASE:-https://www.github.com} ……
Führen Sie nun das stack.sh-Skript erneut aus,
[[email protected] devstack]$ ./stack.sh
Sobald das Skript erfolgreich ausgeführt wurde, erhalten wir die Ausgabe wie unten,
Dies bestätigt, dass OpenStack erfolgreich bereitgestellt wurde,
Schritt:5 Greifen Sie entweder über Openstack CLI oder Horizon Dashboard auf OpenStack zu
Wenn Sie eine Aufgabe über die OpenStack-CLI ausführen möchten, müssen Sie zuerst die OpenRC-Datei mit den Administratoranmeldeinformationen quellieren.
[[email protected] devstack]$ source openrc WARNING: setting legacy OS_TENANT_NAME to support cli tools. [[email protected] devstack]$ openstack network list +--------------------------------------+---------+----------------------------------------------------------------------------+ | ID | Name | Subnets | +--------------------------------------+---------+----------------------------------------------------------------------------+ | 5ae5a9e3-01ac-4cd2-86e3-83d079753457 | private | 9caa54cc-f5a4-4763-a79e-6927999db1a1, a5028df6-4208-45f3-8044-a7476c6cf3e7 | | f9354f80-4d38-42fc-a51e-d3e6386b0c4c | public | 0202c2f3-f6fd-4eae-8aa6-9bd784f7b27d, 18050a8c-41e5-4bae-8ab8-b500bc694f0c | +--------------------------------------+---------+----------------------------------------------------------------------------+ [[email protected] devstack]$ openstack image list +--------------------------------------+--------------------------+--------+ | ID | Name | Status | +--------------------------------------+--------------------------+--------+ | 5197ed8e-39d2-4eca-b36a-d38381b57adc | cirros-0.3.6-x86_64-disk | active | +--------------------------------------+--------------------------+--------+ [[email protected] devstack]$
Versuchen Sie jetzt, auf das Horizon Dashboard zuzugreifen, URL-Details und Anmeldeinformationen sind bereits in der Ausgabe des Stack-Befehls vorhanden.
http://{Ihre-Server-IP-Adresse}/dashboard
Entfernen/Deinstallieren von OpenStack mithilfe von Devstack-Skripten
Wenn Sie mit dem Testen und Demonstrieren fertig sind und OpenStack von Ihrem System entfernen möchten, führen Sie die folgenden Skripte über den Stack-Benutzer aus,
[[email protected] ~]$ cd devstack [[email protected] devstack]$ ./clean.sh [[email protected] devstack]$ ./unstack.sh [[email protected] devstack]$ rm -rf /opt/stack/ [[email protected] ~]$ sudo rm -rf devstack [[email protected] ~]$ sudo rm -rf /usr/local/bin/
Das ist alles aus diesem Tutorial. Wenn Ihnen die Schritte gefallen, teilen Sie bitte Ihr wertvolles Feedback und Ihre Kommentare.