GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So überprüfen Sie den Zustand der Bereitstellung auf Red Hat OpenShift

Beim Bereitstellen von Anwendungen für Red Hat OpenShift ist es hilfreich, den Status und Zustand der Komponenten zu überprüfen. Zuerst zeige ich Ihnen, wie Bereitstellungen funktionieren, und dann können Sie sich einige Zustandsberichte ansehen.

Wie OpenShift-APIs bereitgestellt werden

Red Hat OpenShift-Anwendungen können mithilfe eines Container-Images erstellt werden, das auf einer Remote-Registrierung gehostet wird, einer YAML-Datei, die die zu erstellenden Ressourcen angibt, eines Builder-Images, das den Quellcode aus Ihrem Git-Repository verwendet, einer Docker-Datei und mehr.

[ Das könnte Ihnen auch gefallen: Wie ich eine interaktive OpenShift-Vorlesung für die Red Hat Academy erstellt habe. ]

Je nach ausgewählter Methode eine Bereitstellung oder Bereitstellungskonfiguration API-Objekt kann verwendet werden. OpenShift unterstützt sowohl Bereitstellung Objekte und DeploymentConfig Gegenstände; jedoch Bereitstellung -Objekte werden empfohlen, es sei denn, Sie benötigen eine bestimmte Funktion, die von DeploymentConfig bereitgestellt wird Objekte.

In OpenShift beim Erstellen von Anwendungen aus einer YAML-Datei Bereitstellung Objekte werden bevorzugt. Beim Erstellen von Anwendungen aus einem Dockerfile oder einer Quelle wird eine DeploymentConfig Objekt wird automatisch von oc new-app erstellt Befehl.

Bei der Fehlerbehebung von DeploymentConfig oder Bereitstellung APIs konzentrieren sich auf die Zustände der Replikate und Pods, die erstellt werden. Eine Bereitstellungskonfiguration erstellt einen ReplicationController das Pod-Lebenszyklen verwaltet. Ebenso Bereitstellung erstellt Repliken die die Pods verwalten.

MySQL-Bereitstellungsbeispiel

In diesem Beispiel wird eine MySQL-Datenbank aus einem Image erstellt, das unter „registry.access.redhat.com“ gehostet wird:

oc new-app --docker-image=registry.access.redhat.com/rhscl/mysql-57-rhel7:latest --name=mydb -e MYSQL_USER=user1 -e MYSQL_PASSWORD=mypa55 -e MYSQL_DATABASE=testdb -e MYSQL_ROOT_PASSWORD=r00tpa55

[sysadmin@server ~]$ oc describe dc mydb
Name: mydb
Namespace: DEV
Created: 130 minutes ago
Labels: app=dev
...output omitted...
Deployment #1 (latest):
Name: mydb-1
Created: 15 minutes ago
Status: Complete
Replicas: 1 current / 1 desired
Selector: app=mydb,deployment=mydb-1,deploymentconfig=mydb
Labels: app=mydb,openshift.io/deployment-config.name=mydb
Pods Status: 1 Running / 0 Waiting / 0 Succeeded / 0 Failed
...output omitted...

Daraus können Sie Folgendes ableiten:

  • Status:Abgeschlossen - Die Bereitstellungskonfiguration erfolgreich abgeschlossen.
  • Repliken:1 aktuell / 1 erwünscht – Sie wollten, dass ein Pod erstellt wird (gewünscht), und einer wurde erfolgreich erstellt (aktuell).
  • Pod-Status:1 Wird ausgeführt / 0 Wartet / 0 Erfolgreich / 0 Fehlgeschlagen - Es gibt einen Pod, der ohne Fehler läuft, und das ist sehr wichtig. Jeder ausgefallene Pod muss untersucht und repariert werden, da dies eine fehlerhafte Bereitstellung bedeutet.

Bereitstellung der PHP-Anwendung

In diesem zweiten Beispiel wird eine PHP-Anwendung bereitgestellt, und dies ist eine Beschreibung der DeploymentConfig :

[sysadmin@server]$ oc describe dc/php-helloworld
Name: php-helloworld
Namespace: web
Created: 12 minutes ago
Labels: app=php-helloworld
Annotations: openshift.io/generated-by=OpenShiftNewApp
Latest Version: 1
Selector: app=php-helloworld,deploymentconfig=php-helloworld
Replicas: 1
Triggers: Config, Image(php-helloworld@latest, auto=true)
Strategy: Rolling
Template:
Labels: app=php-helloworld
deploymentconfig=php-helloworld
...output omitted...
Containers:
php-helloworld:
Image: image-registry.openshift-image-registry.svc:5000/s2i/phphelloworld@
sha256:6d27...b983
Ports: 8080/TCP, 8443/TCP
Environment: <none>
Mounts: <none>
Volumes: <none>
Deployment #1 (latest):
Name: php-helloworld-1
Created: 5 minutes ago
Status: Complete
Replicas: 3 current / 5 desired
Selector: app=php-helloworld,deployment=php-helloworld-1,deploymentconfig=phphelloworld
Labels: app=php-helloworld,openshift.io/deployment-config.name=php-helloworld
Pods Status: 3 Running / 0 Waiting / 0 Succeeded / 2 Failed
...output omitted...

Wie Sie sehen können, gibt es zwei ausgefallene Pods. Dies weist darauf hin, dass die Bereitstellung nicht fehlerfrei ist und untersucht werden muss. Administratoren können Protokolle der einzelnen Pods anzeigen und die entsprechende Fehlerbehebung anwenden.

[ Lernen Sie die Grundlagen der Verwendung von Kubernetes in diesem kostenlosen Spickzettel. ] 

Abschluss

Bei der Fehlerbehebung bei Bereitstellungen ist es immer wichtig, auf den Status des Pods, die Anzahl der gewünschten Replikate und die Anzahl der derzeit ausgeführten Replikate zu achten. Solche Informationen können die Fehlersuche einfacher und effizienter machen.


Linux
  1. So erstellen Sie ein lokales Red Hat-Repository

  2. So überprüfen Sie den SSD/HDD-Zustand unter Linux

  3. So aktivieren Sie das Red Hat-Abonnement auf RHEL 8

  4. Was ist Red Hat Linux?

  5. Red Hat / CentOS :So erstellen Sie Schnittstellen- / NIC-Bonding

So überprüfen Sie die Java-Version

So installieren Sie Red Hat Enterprise Linux 8 (RHEL 8)

Wie Sie Red Hat Insights verwenden, um Ihre Linux-Systeme zu warten

Wie ich eine interaktive OpenShift-Vorlesung für die Red Hat Academy erstellt habe

Wie überprüfe ich die OpenGL-Version?

Die 10 besten Linux-Distributionen auf Red Hat-Basis zum Ausprobieren