Ersten klassischen Cluster in der CLI einrichten

Klassische Infrastruktur

In diesem Tutorial stellen Sie einen Red Hat OpenShift on IBM Cloud Cluster auf einer klassischen Infrastruktur mithilfe der CLI bereit.

Zielgruppe

Dieses Tutorial richtet sich an Cluster-Administratoren, die erfahren möchten, wie sie mithilfe der CLI zum ersten Mal einen Red Hat OpenShift on IBM Cloud-Cluster erstellen.

Ziele

In diesem Tutorial führen Sie die folgenden Aufgaben durch.

  • Erstellen Sie einen Cluster in Washington DC mit 2 Workerknoten mit 4 Kernen und 16 GB Hauptspeicher.
  • Öffnen Sie die Red Hat OpenShift-Webkonsole.
  • Implementieren Sie eine Beispiel-App.
  • Machen Sie die App auf einer Route zugänglich, sodass externe Benutzer auf den Service zugreifen können.

Was Sie erhalten

In diesem Lernprogramm erstellen Sie die folgenden Ressourcen über die Befehlszeilenschnittstelle. Es gibt optionale Schritte zum Löschen dieser Ressourcen, wenn Sie sie nach Abschluss des Lernprogramms nicht beibehalten möchten.

  • Ein klassischer Cluster mit 2 Workerknoten
  • Eine einfache Hello World-App, die in Ihrem Cluster bereitgestellt wird
  • Eine Route zum Zugänglichmachen Ihrer App

Cluster-Architektur
Cluster-Architektur

Voraussetzungen

  1. Überprüfen Sie Ihre Berechtigungen. Wenn Sie der Kontoinhaber sind, verfügen Sie bereits über die erforderlichen Berechtigungen zum Erstellen eines Clusters und können mit dem nächsten Schritt fortfahren. Wenn Sie nicht der Kontoeigner sind, bitten Sie den Kontoeigner, einen API-Schlüssel einzurichten und Ihnen die erforderlichen Berechtigungen in IBM Cloud IAM zuzuweisen.

  2. Installieren Sie die IBM Cloud-CLI-Tools.

Red Hat OpenShift on IBM Cloud-Cluster erstellen

  1. Melden Sie sich bei Ihrem Konto und Ihrer Ressourcengruppe an. Wenn Sie über ein föderiertes Konto verfügen, schließen Sie die Option --sso ein.

    ibmcloud login [-g RESOURCE GROUP] [--sso]
    
  2. Führen Sie den folgenden Befehl aus, um einen Version- 4.21-Cluster in Washington, DC mit zwei Worker-Knoten zu erstellen, die jeweils über vier Kerne und 16 GB Arbeitsspeicher verfügen.

    ibmcloud oc cluster create classic --name my-tutorial-cluster --location wdc04 --version 4.21_openshift --flavor b3c.4x16  --workers 2 --public-service-endpoint
    
  3. Das Erstellen des Clusters kann einige Zeit in Anspruch nehmen. Wenn der Clusterstatus Normal anzeigt, benötigen das Clusternetz und die Ingress-Komponenten ca. 10 weitere Minuten, um die Clusterdomäne, die Sie für die Red Hat OpenShift-Webkonsole und andere Routen verwenden, bereitzustellen und zu aktualisieren.

  4. Listen Sie die Clusterdetails auf. Prüfen Sie den Clusterstatus und die Ingress-Unterdomäne und notieren Sie sich die Master-URL.

    ibmcloud oc cluster get --cluster CLUSTER_NAME_OR_ID
    
  5. Laden Sie die kubeconfig Konfigurationsdatei für Ihren Cluster herunter und fügen Sie sie hinzu.

    ibmcloud oc cluster config --cluster CLUSTER_NAME_OR_ID
    
  6. Navigieren Sie in Ihrem Browser zur Adresse der Master-URL und hängen Sie /console an. Zum Beispiel https://c0.containers.cloud.ibm.com:23652/console.

  7. Stellen Sie sicher, dass die oc-Befehle mit Ihrem Cluster ordnungsgemäß ausgeführt werden, indem Sie die Version überprüfen.

    oc version
    

    Beispielausgabe

    Client Version: v4.21.0
    Kubernetes Version: v1.35.7.2
    

    Wenn Sie keine Operationen ausführen können, die Administratorberechtigungen erfordern, z. B. das Auflisten aller Workerknoten oder Pods in einem Cluster, laden Sie die TLS-Zertifikate und Berechtigungsdateien für den Clusteradministrator herunter, indem Sie den Befehl ibmcloud oc cluster config --cluster CLUSTER_NAME_OR_ID --admin ausführen.

Navigieren Sie zur Red Hat OpenShift-Konsole

  1. Wählen Sie in der Konsole Ihren Red Hat OpenShift-Cluster aus und klicken Sie anschließend auf OpenShift-Webkonsole.
  2. Um in der CLI mit Ihrem Cluster zu arbeiten, klicken Sie auf Ihr Profil IAM#user.name@email.com > Anmeldebefehl kopieren. Zeigen Sie den Token-Befehl oc login an und kopieren Sie ihn in Ihre Befehlszeile zwecks Authentifizierung mittels der CLI.

App in Ihrem Cluster bereitstellen

  1. Erstellen Sie ein Projekt für Ihre App "Hello World".

    oc new-project hello-world
    
  2. Erstellen Sie die Beispiel-App aus dem Quellcode mit dem Befehl oc new-app.

    oc new-app --name hello-world https://github.com/IBM/container-service-getting-started-wt --context-dir="Lab 1"
    

    In der Ausgabe wird möglicherweise eine Warnung angezeigt, die sich jedoch nicht auf dieses Beispiel auswirkt.

  3. Listen Sie die hello-world-Services auf und notieren Sie den Servicenamen. Ihre App ist für Datenverkehr an diesen internen Cluster-IP-Adressen empfangsbereit, sofern Sie keine Route für den Service erstellen, damit der Ingress-Controller externe Datenverkehrsanforderungen an die App weiterleiten kann.

    oc get svc -n hello-world
    

    Beispielausgabe

    NAME          TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
    hello-world   ClusterIP   172.21.xxx.xxx   <none>       8080/TCP   31m
    
  4. Listen Sie die Pods auf und stellen Sie sicher, dass der Status der Pods hello-world auf Running und die Pods build und deploy auf Completed gesetzt sind.

    oc get pods -n hello-world
    

    Beispielausgabe

    NAME                  READY     STATUS             RESTARTS   AGE
    hello-world-1-9cv7d   1/1       Running            0          30m
    hello-world-1-build   0/1       Completed          0          31m
    hello-world-1-deploy  0/1       Completed          0          31m
    
  5. Richten Sie eine Route ein, sodass Sie öffentlich auf den Hello World-Service zugreifen können.

    oc create route edge --service=hello-world -n hello-world
    
  6. Rufen Sie die Adresse des Routenhostnamens aus der Host/Port-Ausgabe ab.

    oc get route -n hello-world
    

    Beispielausgabe

    NAME          HOST/PORT                         PATH                                        SERVICES      PORT       TERMINATION   WILDCARD
    hello-world   hello-world-hello.world.CLUSTER-NAME-RANDOM-ID.REGION.containers.appdomain.cloud    hello-world   8080-tcp   edge/Allow    None
    
  7. Greifen Sie auf Ihre App zu. Achten Sie darauf, dass Sie https:// zum Hostnamen der Route hinzufügen. Es kann eine Minute dauern, bis der verfügbare Service sichtbar ist.

    curl https://hello-world-hello-world.CLUSTER-NAME-RANDOM-ID.REGION.containers.appdomain.cloud
    

    Beispielausgabe

    Hello world from hello-world-9cv7d! Your app is up and running in a cluster!
    

Die Tutorial-Ressourcen bereinigen

  1. Listen Sie die Ressourcen im hello-world-Projekt auf.
    oc get all -l app=hello-world -o name -n hello-world
    
    Beispielausgabe
    pod/hello-world-1-dh2ff
    replicationcontroller/hello-world-1
    service/hello-world
    deploymentconfig.apps.openshift.io/hello-world
    buildconfig.build.openshift.io/hello-world
    build.build.openshift.io/hello-world-1
    imagestream.image.openshift.io/hello-world
    imagestream.image.openshift.io/node
    route.route.openshift.io/hello-world
    
  2. Löschen Sie die Ressourcen.
    oc delete all -l app=hello-world -n hello-world
    

Weitere Schritte

Installieren Sie zwei beliebte Red Hat OpenShift on IBM Cloud-Cluster-Add-ons: IBM Cloud Logs und IBM Cloud Monitoring.