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

So richten Sie Openshift Origin unter CentOS 7 ein

OpenShift Origin ist das Open-Source-Upstream-Projekt, das OpenShift, die Container-Anwendungsplattform von Red Hat, antreibt. Es bietet Unterstützung für Python, PHP, Perl, Node.js, Ruby und Java und ist erweiterbar, sodass Benutzer Unterstützung für andere Sprachen hinzufügen können. Die für Anwendungen zugewiesenen Ressourcen können je nach Bedarf automatisch oder manuell skaliert werden, sodass es bei steigender Nachfrage nicht zu Leistungseinbußen kommt. OpenShift bietet Portabilität über die DeltaCloud-API, sodass Kunden Bereitstellungen in Umgebungen anderer Cloud-Computing-Anbieter migrieren können. OpenShift wird durch die Nutzung von Docker und Kubernetes bereitgestellt und gibt Ihnen die Möglichkeit, benutzerdefinierte, wiederverwendbare Anwendungsimages zu haben. OpenShift ist als hochverfügbare, skalierbare Anwendungsplattform konzipiert. Bei richtiger Konfiguration kann eine große OpenShift-Bereitstellung eine einfache Möglichkeit bieten, Ihre Anwendung bei steigenden Anforderungen zu skalieren, ohne dass Ausfallzeiten auftreten. Mit einem Cluster von OpenShift-Hosts an mehreren Rechenzentrumsstandorten können Sie den Ausfall eines ganzen Rechenzentrums überleben.

In diesem Artikel zeigen wir Ihnen die Installation und Konfiguration auf einem eigenständigen CentOS 7-Server mit minimalen darauf installierten Paketen.

Voraussetzungen

In einem hochverfügbaren OpenShift-Origin-Cluster mit externem etcd sollte ein Master-Host 1 CPU-Kern haben und 1,5 GB Arbeitsspeicher sind für jeweils 1000 Pods erforderlich. Daher wäre die empfohlene Größe des Masterhosts in einem OpenShift Origin-Cluster mit 2000 Pods 2 CPU-Kerne und 3 GB RAM, zusätzlich zu den Mindestanforderungen für einen Masterhost von 2 CPU-Kernen und 16 GB RAM.

OpenShift Origin erfordert einen voll funktionsfähigen DNS-Server in der Umgebung. Dies ist idealerweise ein separater Host, auf dem DNS-Software ausgeführt wird, und der Hosts und Containern, die auf der Plattform ausgeführt werden, eine Namensauflösung ermöglichen kann. Lassen Sie uns DNS einrichten, um Ihren Host aufzulösen, und FQDN mit Domäne auf Ihren VMs einrichten.

Konfigurieren Sie SELINUXTYPE=targeted in der Datei ‚/etc/selinux/config‘, falls dies noch nicht geschehen ist, da Security-Enhanced Linux (SELinux) auf allen Servern aktiviert sein muss, bevor OpenShift Origin installiert wird, andernfalls schlägt die Installation fehl.

# vi /etc/selinux/config

Stellen Sie sicher, dass Sie Ihr System mit den neuesten Updates und Sicherheitspatches mit dem folgenden Befehl aktualisieren.

# yum update -y

Docker installieren

Wir haben drei Optionen, um OpenShift zu installieren:Curl-to-Shell, ein portables Installationsprogramm oder die Installation von der Quelle. In diesem Artikel installieren wir OpenShift Origin aus der Quelle mit Docker.

Führen Sie den folgenden Befehl aus, um Docker zusammen mit einigen anderen Abhängigkeiten zu installieren, die für dieses Setup erforderlich sind, wie z. B. den Editor „vim“ und das Dienstprogramm „wget“, falls es nicht bereits auf Ihrem System installiert ist

# yum install docker wget vim -y

Sobald die Installation abgeschlossen ist, müssen wir sie so konfigurieren, dass sie der Registrierung vertraut, die wir für OpenShift-Images verwenden werden, indem wir die Datei „/etc/sysconfig/docker“ in Ihrem Befehlszeilen-Editor öffnen.

# vim /etc/sysconfig/docker
# INSECURE_REGISTRY='--insecure-registry'
NSECURE_REGISTRY='--insecure-registry 192.168.0.0/16'

Speichern und schließen Sie die Konfigurationsdatei und starten Sie den Docker-Dienst mit dem folgenden Befehl neu.

# systemctl restart docker.service

Installieren und konfigurieren Sie Openshift

Sobald wir einen Docker-Dienst eingerichtet und ausgeführt haben, werden wir OpenShift jetzt so einrichten, dass es als eigenständiger Prozess ausgeführt wird, der von systemd verwaltet wird. Lassen Sie uns den folgenden Befehl ausführen, um die OpenShift-Binärdateien von GitHub in das Verzeichnis „/tmp“ herunterzuladen.

# cd /tmp
# wget https://github.com/openshift/origin/releases/download/v1.4.1/openshift-origin-server-v1.4.1-3f9807a-linux-64bit.tar.gz

Extrahieren Sie dann das Paket und wechseln Sie in den extrahierten Ordner, um alle Binärdateien in das Verzeichnis „/usr/local/sbin“ zu verschieben.

# tar -zxf openshift-origin-server-*.tar.gz
# cd openshift-origin-server-v1.4.1+3f9807a-linux-64bit/
# mv k* o* /usr/local/sbin/

Als Nächstes erstellen wir ein Startskript und eine systemd-Unit-Datei, indem wir unsere öffentlichen und privaten IP-Adressen platzieren.

# vim /usr/local/bin/start_openshift.sh
#!/bin/bash
cd /opt/openshift/
openshift start --public-master='https://:8443' --master='https://:8443'

Speichern und schließen Sie die Datei und fügen Sie dann den folgenden Inhalt in die neu erstellte Datei in systemd.

ein
# vim /etc/systemd/system/openshift.service
[Unit]
Description=OpenShift Origin Server

[Service]
Type=simple
ExecStart=/usr/local/bin/start_openshift.sh

Das war's, speichern Sie jetzt die Datei und ändern Sie die Berechtigungen dieser Datei, um sie ausführbar zu machen, und laden Sie dann die neue Unit-Datei, damit sie funktionsfähig ist.

# chmod u+x /usr/local/bin/start_openshift.sh
# mkdir /opt/openshift/
# systemctl daemon-reload

Starten Sie nach dem Neuladen des Daemons den Openshift-Dienst mit dem folgenden Befehl und bestätigen Sie, ob sein Status aktiv ist.

# systemctl start openshift
# systemctl status openshift

Jetzt ist der Openshift-Dienst eingerichtet und läuft, um die OpenShift-Installation remote zu verwalten und auf seine Anwendungen zuzugreifen, müssen die TCP-Ports 80, 443 und 8443 in Ihrer Firewall geöffnet werden.

# firewall-cmd --zone=public --add-port=80/tcp
# firewall-cmd --zone=public --add-port=443/tcp
# firewall-cmd --zone=public --add-port=8443/tcp

Hinzufügen von Openshift-Router und Registrierung

Jetzt müssen wir einen OpenShift-Router installieren, damit er Apps über die öffentliche IP-Adresse bedienen kann. OpenShift verwendet eine Docker-Registry, um Docker-Images für eine einfachere Verwaltung Ihres Anwendungslebenszyklus zu speichern, und der Router leitet Anfragen basierend auf ihren Domänennamen an bestimmte Apps weiter. Also müssen wir zuerst den CLI-Tools mitteilen, wo sich unsere Einstellungen und unser CA-Zertifikat befinden, um unseren neuen OpenShift-Cluster zu authentifizieren.

Lassen Sie uns die folgenden Zeilen zu '/root/.bashrc' hinzufügen, damit sie geladen werden, wenn wir zum Root-Benutzer wechseln.

# export KUBECONFIG=/opt/openshift/openshift.local.config/master/admin.kubeconfig
# export CURL_CA_BUNDLE=/opt/openshift/openshift.local.config/master/ca.crt

Laden Sie „.bashrc“ neu, um die Einstellungen zu aktualisieren.

# source /root/.bashrc

Verwenden Sie dann den folgenden Befehl, um sich beim Cluster anzumelden.

# oc login -u system:admin
Logged into "https://YOUR_SERVER_IP:8443" as "system:admin" using existing credentials.

You have access to the following projects and can switch between them with 'oc project ':

* default
kube-system
openshift
openshift-infra

Using project "default".

Wir haben erfolgreich einen Router hinzugefügt, und um jetzt eine Registrierung hinzuzufügen, verwenden Sie die unten gezeigten Befehle.

# oadm policy add-scc-to-user hostnetwork -z router
# oadm router
info: password for stats user admin has been set to s0iOOpIcnW
--> Creating router router ...
serviceaccount "router" created
clusterrolebinding "router-router-role" created
deploymentconfig "router" created
service "router" created
--> Success
# oadm registry
--> Creating registry registry ...
serviceaccount "registry" created
clusterrolebinding "registry-registry-role" created
deploymentconfig "docker-registry" created
service "docker-registry" created
--> Success

Zugriff auf Openshift Origin

Die OpenShift-Installation ist nun abgeschlossen. Sie können Ihre OpenShift-Bereitstellung testen, indem Sie die folgende URL in einem Webbrowser aufrufen.

https://your_servers_ip:8443

Sie werden mit einem OpenShift-Anmeldebildschirm aufgefordert. Standardmäßig erlaubt Ihnen OpenShift, sich mit einer beliebigen Kombination aus Benutzername und Passwort anzumelden, und erstellt automatisch ein Konto für Sie. Sie haben dann Zugriff, um Projekte und Apps zu erstellen. Wir werden ein Konto mit dem Benutzernamen „ks“ wie gezeigt erstellen.

Neues Projekt in Openshift erstellen

Nach erfolgreicher Anmeldung werden Sie aufgefordert, ein neues Projekt zu erstellen. Projekte enthalten eine oder mehrere Apps, die verwandt sind. Lassen Sie uns ein Testprojekt erstellen, damit wir unsere erste App bereitstellen können.

Als nächstes geben Sie dem neuen Projekt einen Namen mit seinem Anzeigenamen und einer kurzen Beschreibung.

Nachdem Sie unser neues Projekt erstellt haben, sehen Sie als Nächstes den Bildschirm „Zum Projekt hinzufügen“, auf dem wir unsere Anwendungsimages zu OpenShift hinzufügen können, um sie für die Bereitstellung vorzubereiten. In diesem Fall stellen wir ein vorhandenes Image bereit, indem wir auf die Registerkarte „Image bereitstellen“ klicken. Da OpenShift Docker verwendet, können wir ein Image direkt aus Docker Hub oder einer anderen Registrierung abrufen.

Zum Testen verwenden wir das Bild „openshift/hello-openshift“, indem wir es in das Feld „Bildname“ eingeben, wie im Bild unten gezeigt.

Klicken Sie auf das Suchsymbol, rechts neben dem Bildnamen, und klicken Sie dann unten auf die Schaltfläche „Erstellen“ mit Standardoptionen mit Basisbild, ohne dass eine zusätzliche Konfiguration erforderlich ist.

Klicken Sie auf die Projektübersicht, um den Status Ihrer Bewerbung zu überprüfen.

Neue Route erstellen

Jetzt werden wir eine neue Route erstellen, um unsere Anwendungen über den zuvor erstellten OpenShift-Router zugänglich zu machen. Klicken Sie dazu links auf das Menü „Anwendungen“ und dann auf Routen.

Routing ist eine Möglichkeit, Ihre Anwendung öffentlich sichtbar zu machen. Nachdem Sie auf die Schaltfläche „Route erstellen“ geklickt haben, müssen Sie die folgenden Informationen eingeben, die einen eindeutigen Namen für das Projekt, den Hostnamen und den Pfad enthalten, den der Router überwacht, um den Datenverkehr an den Dienst weiterzuleiten.

Danach generiert OpenShift einen Hostnamen, der für den Zugriff auf Ihre Anwendung verwendet wird. Sie müssen einen Platzhalter-A-Eintrag in Ihrem DNS erstellen, um das automatische Routing aller Apps zu Ihrem OpenShift-Cluster zu ermöglichen, während Sie dies in der Produktion einrichten.

*.openshift.yourdomain.com A

Fügen Sie den generierten Hostnamen zu Ihrer lokalen Hosts-Datei zum Testen in Linux „/etc/hosts“, unter Windows „C:\WINDOWS\system32\drivers\etc\hosts“ hinzu.

Hinzufügen einer neuen Anwendung zu Openshift Origin

OpenShift Origin bietet Tools zum Ausführen von Builds sowie zum Erstellen von Quellcode aus vordefinierten Builder-Images über die Source-to-Image-Toolchain. Um eine neue Anwendung zu erstellen, die ein Builder-Image für Node.js mit Beispielquellcode kombiniert, um ein neues bereitstellbares Node.js-Image zu erstellen, führen Sie den folgenden Befehl aus, nachdem Sie eine Verbindung zum Administrator hergestellt und zum Standardprojekt gewechselt haben.

# oc new-app openshift/nodejs-010-centos7~https://github.com/openshift/nodejs-ex.git
--> Found Docker image b3b1ce7 (3 months old) from Docker Hub for "openshift/nodejs-010-centos7"

Node.js 0.10
------------
Platform for building and running Node.js 0.10 applications

Tags: builder, nodejs, nodejs010

* An image stream will be created as "nodejs-010-centos7:latest" that will track the source image
* A source build using source code from https://github.com/openshift/nodejs-ex.git will be created
* The resulting image will be pushed to image stream "nodejs-ex:latest"
* Every time "nodejs-010-centos7:latest" changes a new build will be triggered
* This image will be deployed in deployment config "nodejs-ex"
* Port 8080/tcp will be load balanced by service "nodejs-ex"
* Other containers can access this service through the hostname "nodejs-ex"

--> Creating resources ...
imagestream "nodejs-010-centos7" created
imagestream "nodejs-ex" created
buildconfig "nodejs-ex" created
deploymentconfig "nodejs-ex" created
service "nodejs-ex" created
--> Success
Build scheduled, use 'oc logs -f bc/nodejs-ex' to track its progress.
Run 'oc status' to view your app.

Ein Build wird automatisch mit dem bereitgestellten Image und dem neuesten Commit zum Master-Branch des bereitgestellten Git-Repositorys ausgelöst. Führen Sie den folgenden Befehl aus, um den Status eines Builds abzurufen.

# oc status

Sie können mehr über die in der CLI verfügbaren Befehle sehen.

#oc help

Jetzt sollten Sie Ihre Testanwendung anzeigen können, indem Sie den von Openshift generierten Link in Ihrem Webbrowser öffnen. Sie können den Status Ihrer neu bereitgestellten Apps auch über die Openshift-Webkonsole anzeigen.

Klicken Sie auf eine der installierten Anwendungen, um weitere Details zu IP, Routen und Service-Ports zu überprüfen.

Schlussfolgerung

In diesem Artikel haben wir erfolgreich eine Einzelserver-Openshift-Origin-Umgebung auf CentOS 7.2 installiert und konfiguriert. OpenShift fügt Kubernetes entwickler- und betriebszentrierte Tools hinzu, um eine schnelle Anwendungsentwicklung, eine einfache Bereitstellung und Skalierung sowie eine langfristige Lebenszykluswartung für kleine und große Teams zu ermöglichen. Es ist eine zentralisierte Verwaltung und Verwaltung eines ganzen Stacks, Teams oder einer Organisation. Erstellen Sie wiederverwendbare Vorlagen für Komponenten Ihres Systems und stellen Sie sie im Laufe der Zeit interaktiv bereit. Führen Sie Änderungen an Software-Stacks auf kontrollierte Weise in Ihrer gesamten Organisation ein. Integration mit Ihren bestehenden Authentifizierungsmechanismen, einschließlich LDAP, Active Directory und öffentlichen OAuth-Anbietern wie GitHub.


Cent OS
  1. So richten Sie einen SFTP-Server unter CentOS ein

  2. So richten Sie Textpattern CMS unter CentOS 8 ein

  3. So richten Sie einen SysLog-Server unter CentOS 7 / RHEL 7 ein

  4. So richten Sie SSH-Schlüssel unter CentOS 8 ein

  5. So richten Sie die MySQL-Replikation unter CentOS ein

So richten Sie Kubernetes 1.5 mit kubeadm unter CentOS ein

So richten Sie Icinga Web 2 unter CentOS 8 / RHEL 8 ein

So richten Sie einen Chef 12 unter CentOS 7 / RHEL 7 ein

So richten Sie automatische Sicherheitsupdates auf CentOS ein

So richten Sie Openshift Origin unter CentOS 8 ein

So richten Sie einen Redis-Cluster in CentOS 8 ein – Teil 3