installation openshift aws
  • Software-Entwicklung

So installieren wir OpenShift auf 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 (bekanntes Problem, welches Red Hat in folgendem Blogeintrag behandelt hat.
  • 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 wir der Anleitung, um OpenShift auf AWS einzurichten. Alle von uns erstellten Aliase sind in bashrc definiert und unten aufgeführt. Um den Alias ​​zu verwenden, musst du die bashrc einsouren und verwenden. Wenn du die Befehle unabhängig von den Alias ​​ausführen möchten, kannst du das 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.

Cluster Erstellung

1) Ordner extrahieren

Um einen neuen Cluster unter AWS zu erstellen, musst du das Installationsprogramm von Red Hat für OpenShift 4 verwenden. Lade dir zunächst das Installationsprogramm, Pull-Secret- und Commandline-Tools herunter und speichere die Dateien im Repository-Ordner. Als nächstes können wir ocp-extract verwenden, um die tar-Dateien in einen neuen bin-Ordner zu extrahieren.

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

2) Konfiguration erstellen

Für diesen Schritt benötigst du ein AWS-Konto. Weitere Informationen findest du hier. Sobald du den Befehl ausgeführt hast, hast du die Möglichkeit, die Initiale Konfiguration zu adaptieren. 

Tipp: Verwende –help, um mehr über ocp-create-config zu erfahren.

3) Konfiguration anpassen

Du kannst die im vorherigen Schritt erstellte Installationskonfiguration jederzeit an deine spezifischen Anforderungen anpassen. Dies macht vor allem deshalb Sinn, da die Standardkonfiguration nicht unbedingt für deinen UseCase sinnvoll ist. 

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

apiVersion: v1
baseDomain: example.com 
controlPlane: 
  hyperthreading: Enabled  
  name: master
  platform:
    aws:
      zones:
      - us-west-2a
      - us-west-2b
      rootVolume:
        iops: 4000
        size: 500
        type: io1
      type: m5.xlarge 
  replicas: 3
compute: 
- hyperthreading: Enabled 
  name: worker
  platform:
    aws:
      rootVolume:
        iops: 2000
        size: 500
        type: io1 
      type: c5.4xlarge
      zones:
      - us-west-2c
  replicas: 3
metadata:
  name: test-cluster 
networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14
    hostPrefix: 23
  machineCIDR: 10.0.0.0/16
  networkType: OpenShiftSDN
  serviceNetwork:
  - 172.30.0.0/16
platform:
  aws:
    region: us-west-2 
    userTags:
      adminContact: jdoe
      costCenter: 7536
pullSecret: '{"auths": ...}' 
sshKey: ssh-ed25519 AAAA...

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

4) Cluster erstellen

Sobald die Konfiguration deinen Anforderungen entspricht, kannst du den Cluster einfach durch Ausführen erstellen.

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

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 der im OpenShift Blogpost beschriebenen Anleitung um den Cluster zu patchen,  damit er vor Ablauf von 24 Stunden heruntergefahren werden kann.

Tipp: Verwende –help, um mehr über ocp-patch-cluster zu erfahren.

Achtung: Nachdem das Skript erfolgreich ausgeführt wurde, musst du oc get clusteroperators ausführen und warten, bis alle Clusteroperatoren den erforderlichen Status erreicht haben (True False False).

Google Auth hinzufügen

Du benötigst OAuth2.0-Anmeldeinformations-IDs von Google, um diesen Schritt auszuführen. Verwende zum Erstellen oder Abrufen der clientID / clientSecret die Entwicklerkonsole von Google.

Sobald du die Client-ID und das Client-Geheimnis hast, speichere 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:innen, die sich über diesen Anbieter anmelden können, ein. 

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

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

 Cluster-Administratoren hinzufügen

Um mehrere Cluster-Administratoren hinzuzufügen, kannst du 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 nicht über zusätzliche Optionen angegeben, werden Cluster-Administratoren im Repo-Verzeichnis gelesen. Geben Sie einen Benutzer pro Zeile wie folgt an:

  • user1
  • user2

Tipp: Lasse am Ende der Datei eine leere Zeile frei. Andernfalls wird der letzte Eintrag übersprungen.

Tipp: Verwende –help, um mehr über ocp-auth-add-cluster-admins zu erfahren

Stoppen Sie den Cluster

Um einen laufenden Cluster zu stoppen, kannst du ocp-stop-cluster verwenden.

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

Cluster starten

Um einen gestoppten Cluster erneut zu starten, kannst du ocp-start-cluster verwenden.

Tipp: Verwende –help, um mehr über ocp-start-cluster zu erfahren

 

ocp-start-cluster

Cluster zerstören

Zerstöre alle von ocp-create-cluster erstellten AWS-Ressourcen mit ocp-destroy-cluster. Hinweis: manuell hinzugefügte Ressourcen werden nicht gelöscht!

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

Alles in einem

Um den Bootstrapping-Vorgang schnell auszuführen, verwende ocp-setup.

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

WordPress Cookie Plugin von Real Cookie Banner