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
Voraussetzungen
-
Ü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.
Red Hat OpenShift on IBM Cloud-Cluster erstellen
-
Melden Sie sich bei Ihrem Konto und Ihrer Ressourcengruppe an. Wenn Sie über ein föderiertes Konto verfügen, schließen Sie die Option
--ssoein.ibmcloud login [-g RESOURCE GROUP] [--sso] -
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 -
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.
-
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 -
Laden Sie die
kubeconfigKonfigurationsdatei für Ihren Cluster herunter und fügen Sie sie hinzu.ibmcloud oc cluster config --cluster CLUSTER_NAME_OR_ID -
Navigieren Sie in Ihrem Browser zur Adresse der Master-URL und hängen Sie
/consolean. Zum Beispielhttps://c0.containers.cloud.ibm.com:23652/console. -
Stellen Sie sicher, dass die
oc-Befehle mit Ihrem Cluster ordnungsgemäß ausgeführt werden, indem Sie die Version überprüfen.oc versionBeispielausgabe
Client Version: v4.21.0 Kubernetes Version: v1.35.7.2Wenn 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 --adminausführen.
Navigieren Sie zur Red Hat OpenShift-Konsole
- Wählen Sie in der Konsole Ihren Red Hat OpenShift-Cluster aus und klicken Sie anschließend auf OpenShift-Webkonsole.
- 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-Befehloc loginan und kopieren Sie ihn in Ihre Befehlszeile zwecks Authentifizierung mittels der CLI.
App in Ihrem Cluster bereitstellen
-
Erstellen Sie ein Projekt für Ihre App "Hello World".
oc new-project hello-world -
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.
-
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-worldBeispielausgabe
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-world ClusterIP 172.21.xxx.xxx <none> 8080/TCP 31m -
Listen Sie die Pods auf und stellen Sie sicher, dass der Status der Pods hello-world auf Running und die Pods
buildunddeployauf Completed gesetzt sind.oc get pods -n hello-worldBeispielausgabe
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 -
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 -
Rufen Sie die Adresse des Routenhostnamens aus der Host/Port-Ausgabe ab.
oc get route -n hello-worldBeispielausgabe
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 -
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.cloudBeispielausgabe
Hello world from hello-world-9cv7d! Your app is up and running in a cluster!
Die Tutorial-Ressourcen bereinigen
- Listen Sie die Ressourcen im
hello-world-Projekt auf.
Beispielausgabeoc get all -l app=hello-world -o name -n hello-worldpod/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 - 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.