GNU/Linux >> Linux Esercitazione >  >> Linux

Come controllare lo stato della distribuzione su Red Hat OpenShift

Quando si distribuiscono applicazioni su Red Hat OpenShift, è utile controllare lo stato e l'integrità dei componenti. Per prima cosa, ti mostrerò come funzionano le distribuzioni, quindi potrai controllare alcuni rapporti sull'integrità.

Come vengono distribuite le API OpenShift

Le applicazioni Red Hat OpenShift possono essere create utilizzando un'immagine contenitore ospitata su un registro remoto, un file YAML che specifica le risorse da creare, un'immagine builder utilizzando il codice sorgente dal tuo repository Git, un Dockerfile e altro ancora.

[ Potrebbe piacerti anche: Come ho costruito una conferenza OpenShift interattiva per Red Hat Academy. ]

A seconda del metodo selezionato, un Distribuzione o Configurazione distribuzione È possibile utilizzare l'oggetto API. OpenShift supporta entrambi Deployment oggetti e DeploymentConfig oggetti; tuttavia, Distribuzione gli oggetti sono consigliati a meno che non sia necessaria una funzione specifica fornita da DeploymentConfig oggetti.

In OpenShift, durante la creazione di applicazioni da un file YAML, Deployment gli oggetti sono preferiti. Quando crei applicazioni da un Dockerfile o dall'origine, un DeploymentConfig l'oggetto verrà creato automaticamente da oc new-app comando.

Durante la risoluzione dei problemi di DeploymentConfig o Distribuzione API, concentrati sugli stati delle repliche e dei pod creati. Una Configurazione distribuzione crea un ReplicationController che gestisce i cicli di vita dei pod. Allo stesso modo, Distribuzione crea repliche che gestiscono i pod.

Esempio di distribuzione MySQL

Questo esempio crea un database MySQL da un'immagine ospitata su register.access.redhat.com:

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...

Da ciò, puoi dedurre quanto segue:

  • Stato:completo - La Configurazione distribuzione completato con successo.
  • Repliche:1 corrente / 1 desiderata - Volevi creare un pod (desiderato) e uno è stato creato correttamente (attuale).
  • Stato dei pod:1 In esecuzione / 0 In attesa / 0 Riuscito / 0 Non riuscito - C'è un pod in esecuzione senza che nessuno si rompa e questo è molto importante. Qualsiasi pod guasto deve essere esaminato e corretto, poiché ciò significherebbe un'implementazione malsana.

Distribuzione dell'applicazione PHP

Questo secondo esempio distribuisce un'applicazione PHP e questa è una descrizione di 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...

Come puoi vedere, ci sono due pod guasti. Ciò indica che la distribuzione non è integra e deve essere esaminata. Gli amministratori possono visualizzare i log dai singoli pod e applicare la correzione appropriata.

[ Impara le basi dell'uso di Kubernetes in questo cheat sheet gratuito. ] 

Concludi

Durante la risoluzione dei problemi di distribuzione, è sempre importante controllare lo stato del pod, il numero di repliche desiderate e quante sono attualmente in esecuzione. Tali informazioni possono rendere la risoluzione dei problemi più semplice ed efficiente.


Linux
  1. Come creare un repository Red Hat locale

  2. Come controllare lo stato di SSD/HDD in Linux

  3. Red Hat/CentOS:come creare un collegamento interfaccia/NIC

  4. Come controllare la versione di CentOS

  5. Come controllare lo stato di salute di un disco rigido

Come controllare la versione Java

Come installare Red Hat Enterprise Linux 8 (RHEL 8)

Come utilizzare Red Hat Insights per mantenere i tuoi sistemi Linux

Come ho costruito una lezione interattiva OpenShift per Red Hat Academy

Come controllare la versione OpenGL?

Le 10 migliori distribuzioni Linux basate su Red Hat da provare