OpenShift - Umgebungs-Setup

In diesem Kapitel erfahren Sie mehr über die Einrichtung der Umgebung von OpenShift.

System Anforderungen

Um OpenShift für Unternehmen einzurichten, muss ein Red Hat-Konto aktiv sein. Da OpenShift auf der Kubernetes-Master- und -Knotenarchitektur arbeitet, müssen beide auf separaten Computern eingerichtet werden, wobei ein Computer als Master fungiert und der andere auf dem Knoten arbeitet. Um beide einzurichten, gibt es Mindestsystemanforderungen.

Konfiguration der Master-Maschine

Im Folgenden sind die Mindestsystemanforderungen für die Konfiguration der Master-Maschine aufgeführt.

  • Eine Basismaschine, die entweder in einer physischen, virtuellen oder einer beliebigen Cloud-Umgebung gehostet wird.

  • Mindestens Linux 7 mit den erforderlichen Paketen auf dieser Instanz.

  • 2 CPU-Kern.

  • Mindestens 8 GB RAM.

  • 30 GB interner Festplattenspeicher.

Konfiguration der Knotenmaschine

  • Physisches oder virtuelles Basisimage wie für die Master-Maschine angegeben.
  • Mindestens Linux 7 auf dem Computer.
  • Docker mit nicht weniger als 1.6 Version installiert.
  • 1 CPU-Kern.
  • 8 GB RAM.
  • 15 GB Festplatte zum Hosten von Bildern und 15 GB zum Speichern von Bildern.

Schritt-für-Schritt-Anleitung zum OpenShift-Setup

In der folgenden Beschreibung werden wir eine OpenShift-Laborumgebung einrichten, die später auf einen größeren Cluster erweitert werden kann. Da OpenShift die Einrichtung von Master und Knoten erfordert, benötigen wir mindestens zwei Computer, die entweder auf Cloud-, physischen oder virtuellen Maschinen gehostet werden.

Step 1- Installieren Sie zuerst Linux auf beiden Computern, wobei Linux 7 die niedrigste Version sein sollte. Dies kann mit den folgenden Befehlen erfolgen, wenn ein Red Hat-Abonnement aktiv ist.

# subscription-manager repos --disable = "*"
# subscription-manager repos --enable = "rhel-7-server-rpms"
# subscription-manager repos --enable = "rhel-7-server-extras-rpms"
# subscription-manager repos --enable = "rhel-7-server-optional-rpms"
# subscription-manager repos --enable = "rhel-7-server-ose-3.0-rpms"
# yum install wget git net-tools bind-utils iptables-services bridge-utils
# yum install wget git net-tools bind-utils iptables-services bridge-utils
# yum install python-virtualenv
# yum install gcc
# yum install httpd-tools
# yum install docker
# yum update

Sobald wir alle oben genannten Basispakete auf beiden Computern installiert haben, besteht der nächste Schritt darin, Docker auf den jeweiligen Computern einzurichten.

Step 2- Konfigurieren Sie Docker so, dass nur unsichere Kommunikation im lokalen Netzwerk möglich ist. Bearbeiten Sie dazu die Docker-Datei in / etc / sysconfig. Wenn die Datei nicht vorhanden ist, müssen Sie sie manuell erstellen.

# vi /etc/sysconfig/docker
OPTIONS = --selinux-enabled --insecure-registry 192.168.122.0/24

Nach der Konfiguration des Dockers auf dem Master-Computer müssen wir eine kennwortlose Kommunikation zwischen beiden Computern einrichten. Hierzu verwenden wir die Authentifizierung mit öffentlichem und privatem Schlüssel.

Step 3 - Generieren Sie Schlüssel auf dem Master-Computer und kopieren Sie den Schlüssel id_rsa.pub in die autorisierte Schlüsseldatei des Knotencomputers. Dies kann mit dem folgenden Befehl erfolgen.

# ssh-keygen
# ssh-copy-id -i .ssh/id_rsa.pub [email protected]

Sobald Sie alle oben genannten Einstellungen vorgenommen haben, müssen Sie als Nächstes OpenShift Version 3 auf dem Master-Computer einrichten.

Step 4 - Führen Sie auf dem Master-Computer den folgenden Befehl zum Einrollen aus.

# sh <(curl -s https://install.openshift.com/ose)

Mit dem obigen Befehl wird das Setup für OSV3 eingerichtet. Der nächste Schritt wäre die Konfiguration von OpenShift V3 auf dem Computer.

Wenn Sie nicht direkt aus dem Internet herunterladen können, kann es von heruntergeladen werden https://install.openshift.com/portable/oo-install-ose.tgz als tar-Paket, von dem aus das Installationsprogramm auf dem lokalen Master-Computer ausgeführt werden kann.

Sobald wir das Setup fertig haben, müssen wir mit der eigentlichen Konfiguration von OSV3 auf den Computern beginnen. Dieses Setup ist sehr spezifisch, um die Umgebung für die tatsächliche Produktion zu testen. Wir haben LDAP und andere Dinge installiert.

Step 5 - Konfigurieren Sie auf dem Master-Computer den folgenden Code unter /etc/openshift/master/master-config.yaml

# vi /etc/openshift/master/master-config.yaml
identityProviders:
- name: my_htpasswd_provider
challenge: true
login: true
provider:
apiVersion: v1
kind: HTPasswdPasswordIdentityProvider
file: /root/users.htpasswd
routingConfig:
subdomain: testing.com

Erstellen Sie als Nächstes einen Standardbenutzer für die Standardverwaltung.

# htpasswd -c /root/users.htpasswd admin

Step 6- Da OpenShift die Docker-Registrierung zum Konfigurieren von Images verwendet, müssen wir die Docker-Registrierung konfigurieren. Dies wird zum Erstellen und Speichern der Docker-Images nach dem Erstellen verwendet.

Erstellen Sie mit dem folgenden Befehl ein Verzeichnis auf dem OpenShift-Knotencomputer.

# mkdir /images

Melden Sie sich anschließend mit den Standard-Administratoranmeldeinformationen am Master-Computer an, die beim Einrichten der Registrierung erstellt werden.

# oc login
Username: system:admin

Wechseln Sie zum standardmäßig erstellten Projekt.

# oc project default

Step 7 - Erstellen Sie eine Docker-Registrierung.

#echo '{"kind":"ServiceAccount","apiVersion":"v1","metadata":{"name":"registry"}}' | oc create -f -

Bearbeiten Sie die Benutzerrechte.

#oc edit scc privileged
users:
- system:serviceaccount:openshift-infra:build-controller
- system:serviceaccount:default:registry

Erstellen und bearbeiten Sie die Bildregistrierung.

#oadm registry --service-account = registry --
config = /etc/openshift/master/admin.kubeconfig --
credentials = /etc/openshift/master/openshift-registry.kubeconfig --
images = 'registry.access.redhat.com/openshift3/ose-${component}:${version}' --
mount-host = /images

Step 8 - Erstellen Sie ein Standardrouting.

Standardmäßig verwendet OpenShift OpenVswitch als Software-Netzwerk. Verwenden Sie den folgenden Befehl, um ein Standardrouting zu erstellen. Dies wird für den Lastausgleich und das Proxy-Routing verwendet. Der Router ähnelt der Docker-Registrierung und wird auch in einer Registrierung ausgeführt.

# echo '{"kind":"ServiceAccount","apiVersion":"v1","metadata":{"name":"router"}}' | oc create -f -

Bearbeiten Sie als Nächstes die Berechtigungen des Benutzers.

#oc edit scc privileged
users:
   - system:serviceaccount:openshift-infra:build-controller
   - system:serviceaccount:default:registry
   - system:serviceaccount:default:router

#oadm router router-1 --replicas = 1 --
credentials = '/etc/openshift/master/openshift-router.kubeconfig' --
images = 'registry.access.redhat.com/openshift3/ose-${component}:${version}'

Step 9 - Konfigurieren Sie den DNS.

Um URL-Anfragen zu bearbeiten, benötigt OpenShift eine funktionierende DNS-Umgebung. Diese DNS-Konfiguration ist erforderlich, um einen Platzhalter zu erstellen, der zum Erstellen eines DNS-Platzhalters erforderlich ist, der auf einen Router verweist.

# yum install bind-utils bind
# systemctl start named
# systemctl enable named
vi /etc/named.conf
options {listen-on port 53 { 10.123.55.111; };
forwarders {
   10.38.55.13;
   ;
};

zone "lab.com" IN {
   type master;
   file "/var/named/dynamic/test.com.zone";
   allow-update { none; };
};

Step 10- Der letzte Schritt wäre das Einrichten des Github-Servers auf dem OpenShift V3-Master-Computer, was optional ist. Dies kann einfach mit der folgenden Befehlsfolge erfolgen.

#yum install curl openssh-server
#systemctl enable sshd
# systemctl start sshd
# firewall-cmd --permanent --add-service = http
# systemctl reload firewalld
#curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-
#yum install gitlab-ce
# gitlab-ctl reconfigure

Sobald das obige Setup abgeschlossen ist, können Sie es durch Testen überprüfen und Anwendungen bereitstellen, über die wir in den folgenden Kapiteln mehr erfahren werden.