GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo comprobar el estado de la implementación en Red Hat OpenShift

Al implementar aplicaciones en Red Hat OpenShift, es útil verificar el estado y la salud de los componentes. Primero, le mostraré cómo funcionan las implementaciones y luego podrá consultar algunos informes de estado.

Cómo se implementan las API de OpenShift

Las aplicaciones de Red Hat OpenShift se pueden crear utilizando una imagen de contenedor alojada en un registro remoto, un archivo YAML que especifica los recursos que se crearán, una imagen de compilador que utiliza el código fuente de su repositorio de Git, un Dockerfile y más.

[ También le puede interesar: Cómo construí una conferencia interactiva de OpenShift para Red Hat Academy. ]

Según el método seleccionado, una implementación o Configuración de implementación Se puede utilizar el objeto API. OpenShift admite tanto la implementación objetos y DeploymentConfig objetos; sin embargo, Implementación Se recomiendan objetos a menos que necesite una función específica proporcionada por DeploymentConfig objetos.

En OpenShift, al crear aplicaciones a partir de un archivo YAML, Implementación Se prefieren los objetos. Al compilar aplicaciones desde un Dockerfile o desde la fuente, un DeploymentConfig el objeto será creado automáticamente por oc new-app comando.

Al solucionar problemas de DeploymentConfig o Implementación API, céntrese en los estados de las réplicas y los pods que se crean. Una Configuración de implementación crea un ReplicationController que gestiona los ciclos de vida de los pods. De la misma manera, Despliegue crea réplicas que gestionan los pods.

Ejemplo de implementación de MySQL

Este ejemplo crea una base de datos MySQL a partir de una imagen alojada en registration.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...

De esto, puedes deducir lo siguiente:

  • Estado:Completado - La Configuración de implementación completado con éxito.
  • Réplicas:1 actual / 1 deseada - Quería que se creara un pod (deseado) y uno se ha creado correctamente (actual).
  • Estado de los pods:1 En ejecución / 0 En espera / 0 Correcto / 0 Error - Hay un módulo en ejecución sin que falle ninguno, y eso es muy importante. Cualquier pod fallido debe investigarse y repararse, ya que eso significará una implementación en mal estado.

Despliegue de aplicaciones PHP

Este segundo ejemplo implementa una aplicación PHP y esta es una descripción de 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...

Como puede ver, hay dos pods fallidos. Esto indica que la implementación no es saludable y debe investigarse. Los administradores pueden ver los registros de los pods individuales y aplicar la corrección adecuada.

[ Aprenda los aspectos básicos del uso de Kubernetes en esta hoja de trucos gratuita. ] 

Resumir

Al solucionar problemas de implementaciones, siempre es importante tener en cuenta el estado del pod, la cantidad de réplicas deseadas y cuántas se están ejecutando actualmente. Dicha información puede facilitar y hacer más eficiente la resolución de problemas.


Linux
  1. Cómo crear un repositorio local de Red Hat

  2. Cómo comprobar el estado de SSD/HDD en Linux

  3. Cómo duplicar un repositorio en Linux

  4. ¿Qué es Red Hat Linux?

  5. Cómo comprobar la salud de un disco duro

Cómo comprobar la versión de Java

Cómo instalar Red Hat Enterprise Linux 8 (RHEL 8)

Cómo usar Red Hat Insights para mantener sus sistemas Linux

Cómo construí una conferencia interactiva de OpenShift para Red Hat Academy

¿Cómo comprobar la versión de OpenGL?

Las 10 mejores distribuciones de Linux basadas en Red Hat para revisar