Detailliertes Tutorial zur Bereitstellung einer OpenStack-Umgebung basierend auf CentOS (OpenStack-Installation)

Detailliertes Tutorial zur Bereitstellung einer OpenStack-Umgebung basierend auf CentOS (OpenStack-Installation)

Effektanzeige:

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

Controllerknoten zur Umgebungsvorbereitung:

6 GB

4 Stunden

60 GB/30 GB/30 GB

Rechenknoten

6 GB

4 Stunden

60G/60G

Admin-Knoten (Ceph-Admin-Verwaltungsknoten)

2 GB

4 Stunden

60 GB/6 GB

Einführung in OpenStack

OpenStack ist ein Open-Source-Projekt zur Verwaltung von Cloud-Plattformen, mit dem öffentliche oder private Cloud-Plattformen erstellt werden können. Es bietet Infrastruktur- und Servicelösungen (IaaS). OpenStack ist ein Cloud-Betriebssystem, das Computing, Speicher, Netzwerk und andere Ressourcenpools über Rechenzentren steuern kann. OpenStack deckt verschiedene Aspekte wie Netzwerk, Virtualisierung, Betriebssystem und Server ab. Über OpenStack können virtuelle Maschinenressourcen gestartet, zugewiesen und verwaltet werden, und die gesamte Verwaltung kann über die Front-End-Schnittstelle erfolgen.

OpenStack-Kernkomponente Nova

Der Computing-Management-Dienst verwaltet den gesamten Lebenszyklus von Instanzen virtueller Maschinen und ist für Vorgänge wie das Erstellen, Starten, Herunterfahren, Anhalten, Anhalten, Anpassen, Migrieren, Neustarten, Löschen und die Zuweisung von Ressourcen virtueller Maschinen usw. verantwortlich. Er stellt der Außenwelt Dienste über APIs bereit, verwendet KeyStone zur Identitätsauthentifizierung, Horizon als Verwaltungsschnittstelle und Glance zur Bereitstellung seines Images, sodass Nova Computerressourcen, Netzwerke und die Authentifizierung verwalten kann.

Neutron

Der Netzwerkverwaltungsdienst bietet eine unabhängige Netzwerkumgebung für jeden Mandanten in einer Umgebung mit mehreren Mandanten. Neutron bietet Netzwerkunterstützung für die gesamte OpenStack-Umgebung. Es kann Netzwerk, Subent, Router definieren, DHCP, DNS, Lastausgleich, L3-Dienste konfigurieren und das Netzwerk unterstützt GRE, VLAN usw. Es unterstützt auch viele beliebte Netzwerkverwaltungs-Plugins wie OpenvSwitch.

Asche

Der Blockspeicherdienst unterstützt verschiedene Speicher-Backends, darunter Ceph, Glusterfs usw. Er ist die Grundlage für die Speicherung virtueller Maschinen und der von virtuellen Maschinen verwendeten Daten. Cinder bietet Zugriff auf und Verwaltung von Blockspeichergeräten. Für OpenStack-Hosts wird der Speicher in Form von Blockgeräten angezeigt, die ISCSI, NFS, Ceph oder andere spezielle Protokolle als Backend-Verbindungen verwenden. Die Schnittstelle von Cinder gibt eine Reihe unabhängiger Funktionen an, darunter grundlegende Funktionen wie das Erstellen, Löschen und Mounten von Volumes sowie einige erweiterte Funktionen wie das Erweitern von Volumes, Snapshots und Klonen von VM-Images.

Schnell

Der Object Storage Service stellt einen verteilten Objektspeicherdienst im großen Maßstab über Knoten für den OpenStack-Cluster bereit. Er speichert und ruft unstrukturierte Datenobjekte über eine RESTful-Schnittstelle ab. Es handelt sich um eine äußerst fehlertolerante und skalierbare Speicherarchitektur. Der Objektspeicher speichert die entsprechenden Daten als binäre Objekte und nicht als Dateien. Im Allgemeinen kann das gesamte Objekt mit einem Befehl gespeichert oder abgerufen werden.

Keystone

Der Authentifizierungsverwaltungsdienst ist ein Modul im OpenStack-Framework, das für die Verwaltung der Identitätsauthentifizierung, der Dienstregeln und der Diensttokenfunktionen verantwortlich ist. Es verwaltet Domänen, Projekte, Benutzer, Gruppen und Rollen und verwendet MySQL als einheitliche Datenbank. Benutzer müssen ihre Identitäten und Berechtigungen zum Zugriff auf Ressourcen überprüfen, und Dienste müssen auch Berechtigungsprüfungen durchführen, um Vorgänge auszuführen. All dies muss über Keystone verarbeitet werden. OpenStack-Dienste verwenden Keystone, um ihre Endpunkte (URLs für den Dienstzugriff) zu registrieren. Alle Anrufe zwischen Diensten müssen zuerst von KeyStone authentifiziert werden, den Zielendpunkt abrufen und dann aufgerufen werden.

Blick

Der Image-Management-Dienst ermöglicht die Verwaltung von Images, die bei der Bereitstellung einer virtuellen Maschine bereitgestellt werden können, einschließlich Image-Suche, Registrierung, Abruf, Import, Formatierung und Erstellung entsprechender Vorlagen. Er unterstützt mehrere Image-Formate für virtuelle Maschinen und verfügt über die Funktionen zum Erstellen und Löschen von Images sowie zum Bearbeiten grundlegender Image-Informationen. Glance bietet eine RESTful-API zum Abfragen der Metadaten von Images virtueller Maschinen und zum Abrufen von Images. Glance kann Images in einer Vielzahl von Backend-Speichern speichern, z. B. in einem einfachen Dateispeicher oder einem Objektspeicher.

Horizont

Die Benutzeroberfläche ist das Webverwaltungsportal für verschiedene Dienste in OpenStack, das zum Vereinfachen von Benutzervorgängen bei Diensten verwendet wird, z. B. zum Starten von Instanzen, Zuweisen von IP-Adressen, Konfigurieren der Zugriffskontrolle usw.

Installieren Sie CentOS

yum installiere vim

Geben Sie den folgenden Befehl in das cmd-Fenster ein, um das Netzwerksegment anzuzeigen

ipconfig /alle

Netzwerkkarteninformationen ändern

vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYP=Ethernet
PROXY_METHOD=keine
BROWSER_ONLY=nein
BOOTPROTO=statisch
DEFROUTE=ja
IPV4_FAILURE_FATAL=nein
IPV6INIT=ja
IPV6_AUTOCONF=ja
IPV6_DEFROUTE=ja
IPV6_FAILURE_FATAL=nein
IPV6_ADDR_GEN_MODE=stabiler Datenschutz
NAME=ens33
GERÄT=ens33
ONBOOT=ja
IPADDR=192.168.12.18
Präfix = 24
GATEWAY=192.168.12.1
DNS1=192.168.111.2

Starten Sie die Netzwerkdienste neu

Neustart des Dienstnetzwerks

Regler

ens33 192.168.12.18 (bietet Floating IP, ausgehende Adresse)

ens34 192.168.12.118 (Kommunikation zwischen Intranets)

berechnen

ens33 192.168.12.140 (bietet Floating IP, ausgehende Adresse)

ens34 192.168.12.240 (Kommunikation zwischen Intranets)

# Sofort neu starten shutdown -r now

Initialisieren Sie jeden Knoten

yum -y installieren wget net-tools nfs-utils lrzsz gcc gcc-c++ machen cmake libxml2-devel openssl-devel curl curl-devel entpacken sudo ntp libaio-devel vim ncurses-devel autoconf automake zlib-devel python-devel epel-release lrzsz openssh-server

Deaktivieren Sie Firewall, Netzwerkmanager, Iptables, Selinux (Vorgang auf jedem Knoten).

systemctl Firewalld stoppen && systemctl Firewalld deaktivieren && systemctl NetworkManager stoppen && systemctl NetworkManager deaktivieren
systemctl stop iptables und systemctl deaktiviert iptables

Selinux ändern

vim /etc/sysconfig/selinux
SELINUX=deaktiviert

Hosts ändern

vim /etc/hosts
192.168.12.118 Controller
192.168.12.240 berechnen

Ändern des Hostnamens

hostnamectl set-hostname-Controller
Hostnamectl Set-Hostname-Berechnen

Zeitsynchronisation

ntpdate cn.pool.ntp.org

Konfigurieren Sie die kennwortfreie Anmeldung und Vorgänge auf jedem Knoten

ssh-keygen -t rsa 
#Drücken Sie einfach weiter die Eingabetaste ssh-copy-id -i .ssh/id_rsa.pub controller
ssh-copy-id -i .ssh/id_rsa.pub Computer

Verwenden Sie xftp, um das OpenStack-Offline-Softwarepaket in das Stammverzeichnis hochzuladen (auf dem Controller und den Rechenknoten ausführen).

Erstellen Sie ein Verzeichnis openstack unter root und entpacken Sie das Softwarepaket in dieses Verzeichnis.

mkdir /root/openstack und cd /root/openstack und tar zxvf /root/openstack_N.tar.gz

Verschieben Sie das gesamte OpenStack-Verzeichnis nach / (Controller- und Computerknotenoperationen).

mv openstack /

Konfigurieren Sie die Yum-Quelle neu (sowohl Controller als auch Computerknoten).

cd /etc/yum.repos.d/ 
mkdir zurück 
mv CentOS-* bak/ 
mv epel* bak/
cp bak/CentOS-Base.repo ./

Generieren Sie ein neues OpenStack-Yum-Repository

Katze <<EOF > /etc/yum.repos.d/openstack.repo 
[OpenStack]
aktivieren=1
gpgcheck=0
baseurl=Datei:///openstack
Ende der Laufzeit

Cache leeren

yum makecache

Installation der OpenStack-Antwortdatei (Controller-Knotenvorgang)

yum installiere centos-release-openstack-newton -y
cd /etc/yum.repos.d 
mv *.repo bak/ 
cp bak/openstack.repo ./ 
cp bak/CentOS-Base.repo ./

Cache leeren

yum makecache
yum installiere openstack-packstack -y
cd /root
packstack --gen-answer-file=openstack.txt

Nach dem Ende wird eine Antwortdatei openstack.txt generiert

Ändern Sie die Datei openstack.txt

Die geänderten Inhalte sind wie folgt

CONFIG_DEFAULT_PASSWORD=123456
CONFIG_SWIFT_INSTALL=n
CONFIG_NAGIOS_INSTALL=n
CONFIG_CINDER_VOLUMES_SIZE=10G
CONFIG_PROVISION_DEMO=n
CONFIG_LBAAS_INSTALL=y
CONFIG_NEUTRON_FWAAS=y
CONFIG_NEUTRON_VPNAAS=y
CONFIG_CONTROLLER_HOST=192.168.12.118
CONFIG_COMPUTE_HOSTS=192.168.12.240
CONFIG_NETWORK_HOSTS=192.168.12.240

Installieren von Komponenten basierend auf einer Antwortdatei

packstack --answer-file=openstack.txt

Während des Installationsvorgangs müssen Sie den iptables-Status auf dem Controller und den Computerknoten überprüfen.

systemctl status iptables

Wenn festgestellt wird, dass iptables aktiv ist, muss es gestoppt werden

systemctl stoppt iptables

Beachten Sie die folgenden Anweisungen für eine erfolgreiche Installation

Installation erfolgreich abgeschlossen

Starten Sie die Verwaltungsoberfläche von RabbitMQ (Controller-Knotenbetrieb).

rabbitmq-plugins aktivieren rabbitmq_management

Zugriff über Browser

192.168.124.200:15672

Konto: Gast

Passwort: Gast

Melden Sie sich bei der Dashboard-Oberfläche von OpenStack an

Geben Sie in Ihren Browser ein:

192.168.124.200

Konto: admin

Passwort:

Passwort abrufen

cd /root
Katze Keystonerc_Admin

KeyStone-Konfigurationsoptimierung

Vorgang auf dem Controller-Knoten

Keystone.conf ändern

vim /etc/keystone/keystone.conf

Fügen Sie die folgende Zeile unter dem Standardfeld hinzu

memcache_servers = 192.168.12.118:11211

Starten Sie den Dienst neu

systemctl restart httpd

Wenn auf OpenStack normal zugegriffen werden kann, war die Konfiguration erfolgreich.

Glance-Konfigurationsoptimierung

Ändern Sie glance-api.conf

vim /etc/glance/glance-api.conf

Oben hinzufügen

memcache_servers = 192.168.12.118:11211

Ändern Sie glance-registry.conf

vim /etc/glance/glance-registry.conf

Oben hinzufügen

memcache_servers = 192.168.12.118:11211

Starten Sie den Dienst neu

systemctl Neustart OpenStack-Glance-API
systemctl Neustart OpenStack-Glance-Registrierung

Die Nova-Konfigurationsoptimierung wird auf dem Controllerknoten geändert

Ändern Sie nova.conf

vim /etc/nova/nova.conf

Memcahce-Cache oben hinzufügen

memcache_servers = 192.168.12.118:11211

Ursprünglich gab es nur eine Adresse, aber kein http-Protokoll. Sie müssen das http-Protokoll hinzufügen

api_servers=http://192.168.12.118:9292

Fügen Sie diese Zeile unter der ersten Zeile hinzu [DEFAULT]

transport_url=Kaninchen://Gast:[email protected]

Ändere die ursprüngliche IP zu dieser und öffne den Kommentar

meine_ip=192.168.12.118

Ursprünglich war es 0.0.0.0, jetzt wurde es geändert in:

vncserver_listen=192.168.12.118

Dies war ursprünglich der Hostname. Ändern Sie ihn in diese Host-IP

vncserver_proxyclient_address=192.168.12.118

Starten Sie den Dienst neu, nachdem Sie die oben genannten Änderungen vorgenommen haben

systemctl Neustart openstack-nova-api.service \
 openstack-nova-consoleauth.service openstack-nova-scheduler.service \
 openstack-nova-conductor.s:serve openstack-nova-novncproxy.service

Ändern auf dem Compute-Knoten

Ändern Sie die Konfigurationsdatei nova.conf

vim /etc/nova/nova.conf

Fügen Sie der ersten Zeile des Felds [DEFAULT] die folgende Zeile hinzu

memcache_servers=192.168.12.118:11211

Diese Kommentarzeile wird eingeschaltet und erhält diese IP-Adresse

transport_url=Kaninchen://Gast:[email protected]

Dieser Zeilenkommentar wird aktiviert und die IP wird zur Host-IP

api_servers=http://192.168.12.118:9292

Diese Kommentarzeile wird eingeschaltet und erhält diese IP-Adresse

meine_ip=192.168.12.240

Diese Kommentarzeile wird eingeschaltet und erhält diese IP-Adresse

vncserver_proxyclient_address=192.168.12.240

Diese Kommentarzeile wird eingeschaltet und erhält diese IP-Adresse

novncproxy_base_url=http://192.168.12.118:6080/vnc_auto.html

Diese Zeile ist auskommentiert

virt_type=qemu

Nachdem das oben genannte Problem behoben wurde, starten Sie den Dienst neu

systemctl aktiviere libvirtd.service openstack-nova-compute.service
systemctl Neustart libvirtd.service openstack-nova-compute.service

Überprüfen Sie das Protokoll, kein Fehler

cat /var/log/nova/nova-compute.log

Nach dem Start das Protokoll auf dem Controller-Knoten anzeigen

cat /var/log/nova/nova-api.log

Wenn kein Fehler vorliegt,

Optimierung der Neutronenkonfiguration

Vorgang auf dem Controller-Knoten

Ändern Sie die Konfigurationsdatei neutron.conf

vim /etc/neutron/neutron.conf

Neue Zeile hinzufügen

memcache_servers = 192.168.12.118:11211

Suchen Sie nach transport_url und fügen Sie eine neue Zeile hinzu (die Rabbit-Adresse der Nachrichtenwarteschlange befindet sich auf dem Controllerknoten).

transport_url = Kaninchen://Gast:[email protected]

Suchen Sie lock_path und ändern Sie es in einen absoluten Pfad

lock_path=/var/lib/neutron/tmp

Ändern Sie ml2_conf.ini

vim /etc/neutron/plugins/ml2/ml2_conf.ini

vni_ranges ändern

vni_ranges = 10:10000

Starten Sie den Dienst neu, nachdem Sie die beiden oben genannten Dateien geändert haben

systemctl restart neutron-server

Öffnen Sie einen neuen Port, um die Protokolle zu überprüfen. Wenn kein Fehler vorliegt,

tail -f /var/log/neutron/server.log

Vorgang auf dem Compute-Knoten

Erstellen Sie eine überbrückte Netzwerkkarte und verbinden Sie sie mit der Netzwerkkarte, die auf das externe Netzwerk zugreifen kann, d. h. ens33

cd /etc/sysconfig/netzwerkskripte
mkdir zurück
cp ifcfg-ens33 bak/
vim ifcfg-br-ex

Kopieren Sie den Inhalt nach ifcfg-br-ex

GERÄT=br-ex
BOOTPROTO=statisch
ONBOOT=ja
TYP=OVSBrücke
DEVICETYPE=ovs
USERCTL=ja
PEERDNS=ja
IPV6INIT=nein
IPADDR=192.168.12.140
NETMASK=255.255.255.0
DNS1=192.168.111.2
GATEWAY=192.168.12.1
vim ifcfg-ens33

Löschen Sie den ursprünglichen Inhalt und ersetzen Sie ihn durch Folgendes

#Gerätename DEVICE=ens33
# Ob der automatische Start aktiviert werden soll ONBOOT=yes
TYP=OVSPort
DEVICETYPE=ovs
# Zu welcher Netzwerkkarte wird eine Brücke hergestellt? OVS_BRIDGE=br-ex

Starten Sie die Netzwerkkarte neu

Neustart des Dienstnetzwerks

Ändern Sie die Konfigurationsdatei neutron.conf

vim /etc/neutron/neutron.conf

Fügen Sie der Konfigurationsdatei eine neue Zeile hinzu

transport_url = Kaninchen://Gast:[email protected]

Neue Zeile hinzufügen

memcached_servers=192.168.12.118:11211

Der ursprüngliche Pfad wird zu diesem

lock_path=/var/lib/neutron/tmp

Ändern Sie die Konfigurationsdateien für die dritte Schicht und die Floating IP

cd /etc/neutron
vim l3_agent.ini

Diese Kommentarzeile entfernen

ovs_integration_bridge = br-int

Diese Zeile ist auskommentiert

Verfügbarkeitszone = nova

Ändern Sie die Konfigurationsdatei metadata_agent.ini

vim metadata_agent.ini

Diese Zeile ist auskommentiert

nova_metadata_port = 8775

Diese Zeile ist auskommentiert

nova_metadata_protocol = http

Neue Zeile hinzufügen

memcached_servers=192.168.12.118:11211

Ändern Sie die Konfigurationsdatei dhcp_agent.ini

vim dhcp_agent.ini

Diese Zeile ist auskommentiert

ovs_integration_bridge = br-int

Es war ursprünglich False und muss in True geändert werden.

enable_metadata_network = Wahr

Neue Zeile hinzufügen

dhcp_domain = test.lokaledomain

Öffnen Sie den Originalkommentar und ändern Sie ihn in die DNS-Adresse des externen Netzwerks

dnsmasq_dns_servers = 192.168.111.2

Diese Zeile ist auskommentiert

dnsmasq_lease_max = 16777216

Diese Zeile ist auskommentiert

Verfügbarkeitszone = nova

Nachdem die oben genannten Änderungen vorgenommen wurden, starten Sie den Dienst neu

systemctl Neustart neutron-ovs-cleanup.service neutron-openvswitch-agent.service neutron-metering-agent.service neutron-metadata-agent.service neutron-lbaasv2-agent.service neutron-l3-agent.service neutron-dhcp-agent.service

Dies ist das Ende dieses Artikels über die Bereitstellung einer CentOS-basierten OpenStack-Umgebung (OpenStack-Installation). Weitere Informationen zur Bereitstellung einer CentOS-basierten OpenStack-Umgebung finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • OpenStack Cloud Computing Schnellstart-Tutorial (1) Einführung in OpenStack und seine Komponenten
  • Eine kurze Einführung in die grundlegenden Konzepte von OpenStack Keystone
  • Detaillierte Erläuterung der Bereitstellung von OpenStack-Komponenten - Übersicht und vorläufige Umgebungsvorbereitung
  • Schritte zur Bereitstellung und Bedienung der OpenStack-Cloud-Computing-Komponente

<<:  Vue realisiert einen dynamischen Fortschrittsbalkeneffekt

>>:  So schreiben Sie ein MySQL-Sicherungsskript

Artikel empfehlen

Erläuterung synthetischer React-Ereignisse

Inhaltsverzeichnis Klicken Sie zunächst auf das E...

Fallstudie zum Löschen und Neuinstallieren eines Mac-Knotens

Mac-Knoten löschen und neu installieren löschen K...

Drei Möglichkeiten zum Aktualisieren von Iframes

Code kopieren Der Code lautet wie folgt: <ifra...

8 wichtige JavaScript-Codefragmente für Ihr Projekt

Inhaltsverzeichnis 1. Holen Sie sich die Dateierw...

Tutorial zur MySQL-Installation in der Linux-CentOS7-Umgebung

Detaillierte Einführung in die Schritte zur Insta...

Auswahl und Überlegungen zur MySQL-Datensicherungsmethode

Inhaltsverzeichnis 1. rsync, cp Dateien kopieren ...

Detaillierte Erklärung der Schlüsselwörter und reservierten Wörter in MySQL 5.7

Vorwort Die Schlüsselwörter von MySQL und Oracle ...