Installation und Konfiguration von OpenShift Origin PaaS-Server unter Ubuntu 20.04
OpenShift ist eine freie, quelloffene und Cloud-Entwicklungsplattform als Service (Platform as a Service, PaaS), die von Red Hat entwickelt wurde und es den Entwicklern ermöglicht, ihre Anwendungen auf einer Cloud-Infrastruktur zu entwickeln und bereitzustellen. Es ist eine Community-Distribution von Kubernetes und ermöglicht schnellere Entwicklungs- und Release-Zyklen für Anwendungen. Sie wird mit einer einfachen und leicht zu bedienenden Webschnittstelle geliefert, mit der Sie die Container-Ressourcen, den Container-Zustand, die Knoten, auf denen sich die Container befinden, die IP-Adressen der Knoten usw. überwachen können.
In diesem Tutorial werden wir erklären, wie man OpenShift Origin auf einem Ubuntu 20.04-Server installiert.
Voraussetzungen
- Ein Server mit Ubuntu 20.04.
- Auf Ihrem Server ist ein Root-Passwort konfiguriert.
Docker CE installieren
Zuerst müssen Sie das Docker-CE in Ihrem System installieren, um alle OKD-Dienste in Docker-Containern ausführen zu können. Standardmäßig ist die neueste Version des Docker CE im Standard-Repository von Ubuntu 20.04 verfügbar. Sie können sie installieren, indem Sie einfach den folgenden Befehl ausführen:
apt-get install docker.io -y
Sobald der Docker installiert ist, starten Sie den Docker-Dienst und aktivieren Sie ihn beim Booten mit dem folgenden Befehl:
systemctl start docker systemctl enable docker
Sie können den Status des Docker-Dienstes auch mit dem folgenden Befehl überprüfen:
systemctl status docker
Sie sollten die folgende Ausgabe sehen:
? docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; disabled; vendor preset: enabled) Active: active (running) since Fri 2020-05-29 12:25:47 UTC; 2s ago TriggeredBy: ? docker.socket Docs: https://docs.docker.com Main PID: 48433 (dockerd) Tasks: 10 Memory: 36.5M CGroup: /system.slice/docker.service ??48433 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock May 29 12:25:47 ubuntu2004 dockerd[48433]: time="2020-05-29T12:25:47.215078550Z" level=warning msg="Your kernel does not support swap memory l> May 29 12:25:47 ubuntu2004 dockerd[48433]: time="2020-05-29T12:25:47.215139097Z" level=warning msg="Your kernel does not support cgroup blkio > May 29 12:25:47 ubuntu2004 dockerd[48433]: time="2020-05-29T12:25:47.215169580Z" level=warning msg="Your kernel does not support cgroup blkio > May 29 12:25:47 ubuntu2004 dockerd[48433]: time="2020-05-29T12:25:47.215721944Z" level=info msg="Loading containers: start." May 29 12:25:47 ubuntu2004 dockerd[48433]: time="2020-05-29T12:25:47.418058547Z" level=info msg="Default bridge (docker0) is assigned with an > May 29 12:25:47 ubuntu2004 dockerd[48433]: time="2020-05-29T12:25:47.515158041Z" level=info msg="Loading containers: done." May 29 12:25:47 ubuntu2004 dockerd[48433]: time="2020-05-29T12:25:47.545778830Z" level=info msg="Docker daemon" commit=afacb8b7f0 graphdriver(> May 29 12:25:47 ubuntu2004 dockerd[48433]: time="2020-05-29T12:25:47.546068892Z" level=info msg="Daemon has completed initialization" May 29 12:25:47 ubuntu2004 dockerd[48433]: time="2020-05-29T12:25:47.599029431Z" level=info msg="API listen on /run/docker.sock" May 29 12:25:47 ubuntu2004 systemd[1]: Started Docker Application Container Engine.
Zu diesem Zeitpunkt ist Docker installiert und läuft. Sie können nun mit dem nächsten Schritt fortfahren.
OpenShift Origin herunterladen
Zum Zeitpunkt des Schreibens dieses Tutorials ist die neueste Version von OpenShift Origin v3.11.0. Sie können sie mit dem folgenden Befehl aus dem Git-Hub-Repository herunterladen:
wget https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
Sobald der Download abgeschlossen ist, extrahieren Sie die heruntergeladene Datei mit folgendem Befehl:
tar -xvzf openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
Wechseln Sie als nächstes in das extrahierte Verzeichnis und kopieren Sie die Binärdateien kubectl und oc in das Verzeichnis /usr/local/bin.
cd openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit cp oc kubectl /usr/local/bin/
Überprüfen Sie als nächstes die Installation des OpenShift-Client-Dienstprogramms mit dem folgenden Befehl:
oc version
Sie sollten die folgende Ausgabe sehen:
oc v3.11.0+0cbc58b kubernetes v1.11.0+d4cacc0 features: Basic-Auth GSSAPI Kerberos SPNEGO
Als nächstes müssen Sie eine neue Datei daemon.json erstellen und die Verwendung der Insecure Docker-Registrierung zulassen.
nano /etc/docker/daemon.json
Fügen Sie die folgende Zeile hinzu:
{ "insecure-registries" : [ "172.30.0.0/16" ] }
Speichern und schließen Sie die Datei und starten Sie den Docker-Dienst neu, um die Änderungen zu implementieren.
systemctl restart docker
OpenShif-Herkunfts-Cluster starten
Starten Sie nun den OpenShift Origin-Cluster, indem Sie die IP Ihres Systems angeben:
oc cluster up --public-hostname=your-server-ip
Sobald der Server erfolgreich gestartet ist, sollten Sie die folgende Ausgabe erhalten:
Login to server ... Creating initial project "myproject" ... Server Information ... OpenShift server started. The server is accessible via web console at: https://your-server-ip:8443 You are logged in as: User: developer Password: To login as administrator: oc login -u system:admin
Melden Sie sich nun mit folgendem Befehl als Administrator-Benutzer an Ihrem Cluster an:
oc login -u system:admin
Sobald Sie sich angemeldet haben, sollten Sie folgende Ausgabe erhalten:
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-dns kube-proxy kube-public kube-system * myproject openshift openshift-apiserver openshift-controller-manager openshift-core-operators openshift-infra openshift-node openshift-service-cert-signer openshift-web-console Using project "myproject".
Wechseln Sie dann mit folgendem Befehl zum Standardprojekt:
oc project default
Ausgabe:
Now using project "default" on server "https://your-server-ip:8443".
Überprüfen Sie nun den aktuellen Status Ihres Projekts mit dem folgenden Befehl:
oc status
Sie sollten die folgende Ausgabe erhalten:
In project default on server https://your-server-ip:8443 svc/docker-registry - 172.30.1.1:5000 dc/docker-registry deploys docker.io/openshift/origin-docker-registry:v3.11 deployment #1 deployed 2 minutes ago - 1 pod svc/kubernetes - 172.30.0.1:443 -> 8443 svc/router - 172.30.94.157 ports 80, 443, 1936 dc/router deploys docker.io/openshift/origin-haproxy-router:v3.11 deployment #1 deployed 2 minutes ago - 1 pod View details with 'oc describe /' or list everything with 'oc get all'.
Projekt in OpenShift erstellen
Melden Sie sich jetzt mit dem Entwickler-Benutzer mit dem folgenden Befehl bei OpenShift an:
oc login
Sie werden gebeten, einen Benutzernamen und ein Kennwort wie unten gezeigt einzugeben:
Authentication required for https://your-server-ip:8443 (openshift) Username: developer Password:
Geben Sie Ihren Benutzernamen als Entwickler und das Passwort als Entwickler ein und klicken Sie auf Enter. Sie sollten die folgende Ausgabe sehen: Geben Sie den Benutzernamen als Entwickler und das Passwort ein und drücken Sie Enter:
Login successful. You have one project on this server: "myproject" Using project "myproject".
Um ein neues Projekt zu erstellen, führen Sie den folgenden Befehl aus:
oc new-project dev --display-name="Project - Dev" --description="My Project"
Sie sollten die folgende Ausgabe sehen:
Now using project "dev" on server "https://your-server-ip:8443". You can add applications to this project with the 'new-app' command. For example, try: oc new-app centos/ruby-25-centos7~https://github.com/sclorg/ruby-ex.git to build a new example application in Ruby.
Zugriff auf die OpenShift-Webkonsole
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL https://your-server-ip:8443/console ein. Sie sollten die OpenShift-Anmeldeseite sehen:
Geben Sie Ihren Entwickler-Benutzernamen und Ihr Passwort ein und klicken Sie auf die Schaltfläche Anmelden. Sie sollten die folgende Seite sehen:
Klicken Sie auf die Schaltfläche Projekt erstellen. Sie sollten die folgende Seite sehen:
Geben Sie alle erforderlichen Informationen ein und klicken Sie auf die Schaltfläche Create, um ein neues Projekt zu erstellen.
Anwendung auf OpenShift Origin bereitstellen
Melden Sie sich zunächst mit dem Entwickler-Benutzer am OpenShift-System an, indem Sie den folgenden Befehl ausführen:
oc login
Melden Sie sich mit dem Entwickler-Benutzer wie unten gezeigt an:
Authentication required for https://your-server-ip:8443 (openshift) Username: developer Password: Login successful. You have access to the following projects and can switch between them with 'oc project ': * dev my-project myproject Using project "dev".
Sobald Sie sich eingeloggt haben, wechseln Sie das Projekt zu dem my-project, das Sie über die OpenShift-Webkonsole erstellt haben:
oc project my-project
Ausgabe:
Now using project "my-project" on server "https://your-server-ip:8443".
Als nächstes überprüfen Sie den Status Ihres aktuellen Projekts mit dem folgenden Befehl:
oc status
Ausgabe:
In project My Project (my-project) on server https://your-server-ip:8443 You have no services, deployment configs, or build configs. Run 'oc new-app' to create an application.
Als nächstes markieren Sie ein Anwendungsimage aus der Docker-Hub-Registrierung mit dem folgenden Befehl:
oc tag --source=docker openshift/deployment-example:v2 deployment-example:latest
Ausgabe:
Tag deployment-example:latest set to openshift/deployment-example:v2.
Stellen Sie anschließend eine Anwendung mit dem folgenden Befehl in OpenShift bereit:
oc new-app deployment-example
Sie sollten die folgende Ausgabe sehen:
--> Found image da61bb2 (4 years old) in image stream "my-project/deployment-example" under tag "latest" for "deployment-example" * This image will be deployed in deployment config "deployment-example" * Port 8080/tcp will be load balanced by service "deployment-example" * Other containers can access this service through the hostname "deployment-example" * WARNING: Image "my-project/deployment-example:latest" runs as the 'root' user which may not be permitted by your cluster administrator --> Creating resources ... deploymentconfig.apps.openshift.io "deployment-example" created service "deployment-example" created --> Success Application is not exposed. You can expose services to the outside world by executing one or more of the commands below: 'oc expose svc/deployment-example' Run 'oc status' to view your app.
Überprüfen Sie nun den Status der Anwendungsbereitstellung mit folgendem Befehl: Ausgabe: Sie sollten die folgende Ausgabe sehen:
oc status
Sie sollten die folgende Ausgabe sehen:
In project My Project (my-project) on server https://your-server-ip:8443 svc/deployment-example - 172.30.87.146:8080 dc/deployment-example deploys istag/deployment-example:latest deployment #1 deployed 36 seconds ago - 1 pod 2 infos identified, use 'oc status --suggest' to see details.
Um Informationen über Ihren Dienst zu erhalten, führen Sie den folgenden Befehl aus:
oc get svc
Ausgabe:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE deployment-example ClusterIP 172.30.87.146 8080/TCP 1m
Um detaillierte Informationen zu erhalten, führen Sie den folgenden Befehl aus:
oc describe svc deployment-example
Ausgeben:
Name: deployment-example Namespace: my-project Labels: app=deployment-example Annotations: openshift.io/generated-by=OpenShiftNewApp Selector: app=deployment-example,deploymentconfig=deployment-example Type: ClusterIP IP: 172.30.87.146 Port: 8080-tcp 8080/TCP TargetPort: 8080/TCP Endpoints: 172.17.0.10:8080 Session Affinity: None Events:
Sie können den Pods-Status auch mit dem folgenden Befehl überprüfen:
oc get pods
Ausgabe:
NAME READY STATUS RESTARTS AGE deployment-example-1-b9prf 1/1 Running 0 2m
Stellen Sie nun die Anwendung mit dem folgenden Befehl für den externen Zugriff frei:
oc expose service/deployment-example
Ausgabe:
route.route.openshift.io/deployment-example exposed
Um die Routeninformationen anzuzeigen, führen Sie den folgenden Befehl aus:
oc get routes
Sie sollten die folgende Ausgabe erhalten:
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD deployment-example deployment-example-my-project.your-server-ip.nip.io deployment-example 8080-tcp None
Externen Zugriff verifizieren
Jetzt ist Ihre Anwendung für den externen Zugriff bereit. Öffnen Sie Ihren Webbrowser und geben Sie die obige URL http://deployment-example-my-project.your-server-ip.nip.io ein. Sie sollten Ihre Anwendung auf der folgenden Seite sehen:
Wenn Sie Ihre Anwendung löschen möchten, führen Sie den folgenden Befehl aus: Geben Sie Ihren Entwickler-Benutzernamen und Ihr Kennwort ein und klicken Sie auf die Schaltfläche Anmelden:
oc delete all -l app=deployment-example
Sie sollten die folgende Ausgabe sehen: Geben Sie Ihren Entwickler-Benutzernamen und Ihr Passwort ein:
pod "deployment-example-1-b9prf" deleted replicationcontroller "deployment-example-1" deleted service "deployment-example" deleted deploymentconfig.apps.openshift.io "deployment-example" deleted route.route.openshift.io "deployment-example" deleted
Schlussfolgerung
In diesem Artikel haben wir erfolgreich einen Single-Node OpenShift Origin unter Ubuntu 20.04 installiert und konfiguriert. Sie können nun mit der Entwicklung Ihrer ersten Anwendung in der OpenShift-Umgebung beginnen. Wenn Sie Fragen haben, können Sie mich gerne fragen.