tech-trends

Die Installation von OpenShift auf AWS ist bereits recht einfach. Wir zeigen Ihnen wie!

// 22-01-2020
openshift_aws

openshift_aws

Einleitung

Die Installation von OpenShift auf AWS ist bereits recht einfach. Wenn Sie dies nicht häufig vorhaben, können Sie problemlos mit den manuellen Schritten der Ersteinrichtung gut leben. Für uns ist es wichtig, folgende Punkte effizient und oft durchführen zu können

  • Erstellen eines OpenShift Clusters
  • Patchen eines OpenShift Cluster, um das Abschalten des Clusters innerhalb von 24 Stunden zu ermöglichen
    Red Hat hat dieses bekannte Problem in diesem Blogeintrag behandelt.
  • Google als Authentifizierungsanbieter (OAuth) hinzufügen
  • Neue Administratoren und Cluster Administratoren hinzufügen
  • kubeadmin-User löschen, um Sicherheitsrisiken zu minimieren
  • Starten / Stoppen der Cluster-VMs
  • OpenShift-Cluster entfernen

Um diese Abfolge regelmäßig durchführen zu können, haben wir eine Sammlung von Skripten und Aliase ​​erstellt, die uns dabei helfen, so effizient wie möglich zu arbeiten. Wenn Sie einen ähnlichen Bedarf haben, hoffen wir, dass unsere Vorarbeit Ihnen dabei hilft, Ihre manuellen Einrichtungsschritte zu beschleunigen.

Vorbereitung

Im Allgemeinen folgen Sie dieser Anleitung um OpenShift auf AWS einzurichten.

Alle von uns erstellten Aliase sind in bashrc definiert und unten aufgeführt. Um den Alias ​​zu verwenden, müssen Sie die bashrc einsouren und verwenden. Wenn Sie die Befehle unabhängig von den Alias ​​ausführen möchten, können Sie dies auf eigenes Risiko tun.

source ./bashrc

Verfügbare Befehle

ocp-extract

ocp-create-config

ocp-create-cluster
ocp-destroy-cluster

ocp-patch-cluster

ocp-start-cluster
ocp-stop-cluster

ocp-auth-add-google-provider
ocp-auth-add-cluster-admins
ocp-auth-del-kubeadmin

ocp-setup

Hinweis: nicht vergessen die bashrc einzusourcen.

Erstellung eines neuen Clusters

1) Ordner extrahieren

Um einen neuen Cluster unter AWS zu erstellen, müssen Sie das Installationsprogramm von RedHat für OpenShift 4 verwenden. Laden Sie zunächst das Installationsprogramm, Pull-Secret- und Commandline-Tools herunter und speichern Sie die Dateien im Repository-Ordner. Link

Im nächsten Schritt können wir ocp-extract verwenden, um die tar-Dateien in einen neuen bin-Ordner zu extrahieren.

Tipp: Verwenden Sie – –help, um mehr über ocp-extract zu erfahren

ocp-extract

2) Konfiguration erstellen

Für diesen Schritt benötigen Sie ein AWS-Konto.
Weitere Informationen finden Sie hier.

Sobald Sie den Befehl ausgeführt haben, haben Sie die Möglichkeit die initiale Konfiguration zu adaptieren. 

Tipp: Verwenden Sie – –help, um mehr über ocp-create-config zu erfahren

ocp-create-config

3) Konfiguration anpassen

Sie können die im vorherigen Schritt erstellte Installationskonfiguration jederzeit an Ihre spezifischen Anforderungen anpassen. Dies macht vor allem deshalb Sinn, da die Standardkonfiguration nicht unbedingt für Ihren UseCase sinnvoll ist. 

Beispiel für eine angepasste Datei install-config.yaml für AWS

grafik_maven_options

4) Cluster erstellen

Sobald die Konfiguration Ihren Anforderungen entspricht, können Sie den Cluster einfach durch Ausführen erstellen.

Tipp: Verwenden Sie – –help, um mehr über ocp-create-cluster zu erfahren.

ocp-create-cluster

Genaueres zum oben angeführten Beispiel finden Sie hier.
Nachfolgend ein paar Links, die bei einer Konfigurationsanpassung helfen können.

Installationskonfigurationsparameter für AWS
Anpassungen der Netzwerkkonfiguration

Cluster patchen

Bei der Installation von OpenShift 4-Clustern wird ein Bootstrap-Zertifikat erstellt, das auf den Master-Nodes zum Erstellen von Zertifikatsignierungsanforderungen (Certificate Signing Requests, CSRs) für Kubelet-Client-Zertifikate (eine für jedes Kubelet) verwendet wird, um jedes Kubelet auf einem beliebigen Knoten zu identifizieren.

Da Zertifikate nicht widerrufen werden können, wird dieses Zertifikat mit einer kurzen Ablaufzeit erstellt und 24 Stunden nach der Clusterinstallation kann es nicht mehr verwendet werden. Alle Knoten außer den Masterknoten verfügen über ein widerrufbares ServiceAccount-Token. Daher ist das Bootstrap-Zertifikat nach der Cluster-Installation nur 24 Stunden lang gültig. Danach nochmal alle 30 Tage.

Wenn die Masterkubelets kein 30-Tage-Clientzertifikat haben (das erste ist nur für 24 Stunden gültig), macht das Fehlen des Aktualisierungsfensters für das Kubelet-Clientzertifikat den Cluster unbrauchbar, da der Bootstrap-Berechtigungsnachweis beim erneutem Starten des Clusters nicht verwendet werden kann. In der Praxis erfordert dies, dass ein OpenShift 4-Cluster nach der Installation mindestens 25 Stunden ausgeführt wird, bevor er heruntergefahren werden kann.

Der folgende Prozess ermöglicht das Herunterfahren des Clusters direkt nach der Installation. Außerdem kann der Cluster in den nächsten 30 Tagen jederzeit wieder gestartet werden.”

Nun folgen wir, so wie im OpenShift Blogpost beschrieben, der Anleitung um den Cluster zu patchen,  damit er vor Ablauf von 24 Stunden heruntergefahren werden kann.

Tipp: Verwenden Sie – –help, um mehr über ocp-patch-cluster zu erfahren

ocp-patch-cluster

ACHTUNG!: Nachdem das Skript erfolgreich ausgeführt wurde, müssen Sie oc get clusteroperators ausführen und warten, bis alle Clusteroperatoren den erforderlichen Status erreicht haben (True False False).

Google Auth. hinzufügen

Sie benötigen die OAuth2.0-Anmeldeinformations-IDs von Google, um diesen Schritt ausführen zu können.

Verwenden Sie zum Erstellen oder Abrufen der clientID / clientSecret die Entwicklerkonsole von Google. Sobald Sie die Client-ID und das Client-Geheimnis haben, speichern Sie sie als Dateien (Client-ID und Client-Geheimnis) im Repo-Verzeichnis.

Hinweis: Bei Dateinamen wird die Groß- und Kleinschreibung beachtet.

Sobald die clientID und clientSecret eingerichtet sind, können wir den Befehl ausführen, um Google als Authentifizierungsanbieter zum OpenShift-Cluster hinzuzufügen. Zusätzlich schränkt die Angabe des hosteddomain Parameters die zugelassene Domain für Benutzer, die sich über diesen Anbieter anmelden können, ein. 

ocp-auth-add-google-provider –hosteddomain=<your-domain.com>

Tipp: Verwenden Sie – –help, um mehr über ocp-auth-add-google-provider zu erfahren

ocp-auth-add-google-provider

Cluster Admin hinzufügen

Um Ihrem Cluster Cluster-Administratoren hinzuzufügen, können Sie ocp-auth-add-cluster-admins verwenden. Es wird eine neue Gruppe von Cluster-Administratoren erstellt und dieser Gruppe eine Liste von Benutzern hinzugefügt. Sofern Sie nicht zusätzliche Optionen angegeben, werden Cluster-Administratoren im Repo-Verzeichnis gelesen. Geben Sie einen Benutzer pro Zeile wie folgt an:

  • user1
  • user2

Tipp: Lassen Sie am Ende der Datei eine leere Zeile frei. Andernfalls wird der letzte Eintrag übersprungen.
Tipp: Verwenden Sie – –help, um mehr über ocp-auth-add-cluster-admins zu erfahren.

ocp-auth-add-cluster-admins

Cluster stoppen

Um einen laufenden Cluster zu starten, können Sie ocp-stop-cluster verwenden.

Tipp: Verwenden Sie – –help, um mehr über ocp-stop-cluster zu erfahren

ocp-stop-cluster

Cluster starten

Um einen gestoppten Cluster erneut zu starten, können Sie ocp-start-cluster verwenden.

Tipp: Verwenden Sie – –help, um mehr über ocp-start-cluster zu erfahren.

ocp-start-cluster

Cluster zerstören

Zerstören Sie alle von ocp-create-cluster erstellten AWS-Ressourcen.

Hinweis: manuell hinzugefügte Ressourcen werden nicht gelöscht!

Tipp: Verwenden Sie – –help, um mehr über ocp-destroy-cluster zu erfahren

ocp-destroy-cluster

Alles in Allem

Um den Bootstrapping-Vorgang schnell auszuführen, können Sie ocp-setup ausführen.

Hinweis: Dadurch werden die obigen Befehle mit den Standardwerten ausgeführt. Wenn Sie das Verhalten ändern möchten, ändern Sie die Funktion ocp-setup in Ihrer Kopie von bashrc, indem Sie den Befehlen zusätzliche Parameter hinzufügen.

ocp-setup

// Autor:in

Clemens