Cómo configurar un clúster de OpenShift de un solo nodo en RHEL 8

Usando RedHat CodeReady Containers (CRC), podemos instalar fácilmente la última versión del clúster OpenShift en una computadora portátil, una computadora de escritorio o en una máquina virtual. En este tutorial, demostraremos cómo configurar un clúster openshift de un solo nodo en el sistema RHEL 8 con crc. Este tipo de clúster de turno abierto se usa solo con fines de prueba y desarrollo, no se recomienda para uso en producción.

Requisito mínimo del sistema para OpenShift basado en CRC
  • RHEL 8 recién instalado
  • Hipervisor KVM
  • 4 CPU (o vCPU)
  • 8GB RAM
  • 40 GB de espacio libre en /home

Supongo que los requisitos anteriores ya se cumplen en su sistema RHEL 8. En mi caso he instalado RHEL 8 con GUI e hipervisor KVM durante la instalación. En caso de que tenga una instalación mínima de RHEL 8, primero configure kvm en su sistema. Pasemos a los pasos de instalación,

Paso 1) Descargue la última versión de CRC

Abra la terminal y ejecute el siguiente comando wget,

$ wget https://mirror.openshift.com/pub/openshift-v4/clients/crc/latest/crc-linux-amd64.tar.xz

La salida de muestra del comando anterior sería

descargar-último-crc-rhel8

Paso 2) Extraiga el archivo CRC descargado y copie su binario

Una vez que se descargue el archivo comprimido de crc, extráigalo usando el siguiente comando tar,

$ sudo tar -xpvf crc-linux-amd64.tar.xz

Copie el binario crc en el directorio /usr/local/bin

$ cd crc-linux-1.22.0-amd64/
$ sudo cp crc /usr/local/bin/

Ahora verifique la versión de CRC ejecutando el siguiente comando:

$ crc version
CodeReady Containers version: 1.22.0+6faff76f
OpenShift version: 4.6.15 (embedded in executable)
$

Paso 3) Inicie la implementación de OpenShift 4.x mediante CRC

Ejecute el comando ‘crc setup’ para descargar la máquina virtual crc (crc.qcow2), que tiene alrededor de 10,83 GB.

$ crc setup

CRC-configuración-rhel8

Una vez que la ‘configuración de CRC’ se complete con éxito, descargue el secreto de extracción que se utilizará durante el inicio del clúster de OpenShift.

Para descargar el inicio de sesión secreto de extracción debajo del portal de Redhat,

https://cloud.redhat.com/openshift/install/crc/installer-provisioned

Descargar-Pull-Secret-RedHat-Portal

Ahora, finalmente, ejecute el siguiente comando para iniciar el clúster de Openshift,

Sintaxis:

$ crc start -p

$ crc start -p pull-secret

Una vez que el comando anterior se ejecute con éxito, obtendremos el siguiente resultado. En el resultado, tenemos las credenciales de ‘kubeadmin’ y la URL del clúster. Toma nota de ello, los usaremos más adelante.

crc-start-kubeadmin-credenciales-rhel8

Para conectarse a OpenShift Cluster, configure el siguiente entorno ejecutando:

$ crc oc-env
export PATH="/home/sysadmin/.crc/bin/oc:$PATH"
# Run this command to configure your shell:
# eval $(crc oc-env)
$

Copie el resultado anterior y péguelo en el archivo ‘.bashrc’ al final, como se muestra a continuación:

[[email protected] ~]$ vi .bashrc
…………………
export PATH="/home/sysadmin/.crc/bin/oc:$PATH"
# Run this command to configure your shell:
eval $(crc oc-env)
……………………

Guardar y cerrar el archivo

Obtenga el archivo ‘.bashrc’ para realizar los cambios anteriores en el efecto.

$ source .bashrc

Paso 4) Conectar y verificar OpenShift Cluster

Antes de conectarse al clúster, primero habilite la función de autocompletado de bash. Ejecute los siguientes comandos,

$ oc completion bash > oc_bash_completion
$ sudo cp oc_bash_completion /etc/bash_completion.d/

Cerrar sesión y volver a iniciar sesión.

Ahora, es el momento de conectarse al clúster de Openshift, ejecutar debajo del comando (esto estaba allí en la salida del comando de inicio de crc)

$ oc login -u kubeadmin -p APBEh-jjrVy-hLQZX-VI9Kg https://api.crc.testing:6443

La salida del comando anterior sería,

Iniciar sesión-OpenShift-Cluster-Kubeadmin-RHEL8

El resultado anterior confirma que ‘kubeadmin’ puede iniciar sesión en el clúster correctamente.

Ejecute el siguiente comando oc para verificar los detalles del clúster

$ oc get nodes
$ oc cluster-info
$ oc get clusteroperators

OpenShift-Cluster-Detalles-RHEL8

Para probar este clúster, implementemos una aplicación basada en nginx, ejecute debajo de los comandos,

$ oc new-app --name nginx-app --docker-image=nginx
$ oc get deployment
NAME        READY   UP-TO-DATE   AVAILABLE   AGE
nginx-app   1/1     1            1           2m2s
$ oc get pods
NAME                         READY   STATUS    RESTARTS   AGE
nginx-app-6d7c86dfd7-b6mvz   1/1     Running   0          2m4s
$
$ oc expose service nginx-app
route.route.openshift.io/nginx-app exposed
$ oc get route
NAME      HOST/PORT            PATH   SERVICES    PORT   TERMINATION   WILDCARD
nginx-app nginx-app-default.apps-crc.testing nginx-app 80-tcp         None

[[email protected] ~]$

Ahora intente acceder a la aplicación usando el comando curl,

$ curl nginx-app-default.apps-crc.testing

curl-nginx-aplicación-openshift-rhel8

Perfecto, lo anterior confirma que la aplicación basada en nginx se implementó correctamente en el clúster de OpenShift.

Para acceder a la consola web de OpenShift, ejecute

$ crc console

Arriba se abrirá el navegador web y obtendremos la pantalla de inicio de sesión de OpenShift GUI, use kubeadmin y sus credenciales

OpenShift-WebConsole-Iniciar sesión-RHEL8

Después de ingresar las credenciales, se presentará el siguiente panel

OpenShift-GUI-Dashboard-RHEL8

Genial, la pantalla anterior confirma que OpenShift Web GUI también funciona bien.

Solución de problemas

Para detener el clúster, ejecute

$ crc stop

Para iniciar el clúster de nuevo, ejecute

$ crc start

Para terminar el clúster, ejecute

$ crc stop
$ crc delete -f
$ crc cleanup

Eso es todo de este tutorial, espero que lo ayude a configurar un clúster OpenShift de un solo nodo en el sistema RHEL 8. Por favor, no dude en compartir sus opiniones y comentarios.

Leer también : Cómo configurar el controlador de entrada NGINX en Kubernetes

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *