Configuración del primer clúster clásico en la CLI
Infraestructura clásica
En este tutorial, se implementa un Red Hat OpenShift on IBM Cloud clúster en la infraestructura clásica mediante la CLI.
Audiencia
Este tutorial está dirigido a administradores de clústeres que deseen aprender a crear por primera vez un clúster de Red Hat OpenShift on IBM Cloud mediante la CLI.
Objetivos
En este tutorial, realizarás las siguientes tareas.
- Cree un clúster en Washington, DC con 2 nodos trabajadores que tengan 4 núcleos y 16 GB de memoria.
- Abra la consola web de Red Hat OpenShift.
- Despliegue una app de ejemplo.
- Exponga la app en una ruta para que los usuarios externos puedan acceder al servicio.
Qué obtendrá
En esta guía de aprendizaje, creará los recursos siguientes utilizando la CLI. Hay pasos opcionales para suprimir estos recursos si no desea conservarlos después de completar la guía de aprendizaje.
- Un clúster clásico con 2 nodos trabajadores
- Una app Hello World simple desplegada en el clúster
- Una ruta para exponer la app
{: caption="
Requisitos previos
-
Compruebe los permisos. Si eres el titular de la cuenta, ya dispones de los permisos necesarios para crear un clúster y puedes pasar al siguiente paso. Si no es el propietario de la cuenta, solicite al propietario de la cuenta que configure una clave de API y le asigne los permisos necesarios en IBM Cloud IAM.
Creación de un clúster de Red Hat OpenShift on IBM Cloud
-
Inicie sesión en su cuenta y grupo de recursos. Si tiene una cuenta federada, incluya la opción
--sso.ibmcloud login [-g RESOURCE GROUP] [--sso] -
Ejecuta el siguiente comando para crear un clúster de versión 4.21 en Washington, D.C., con 2 nodos de trabajo que tengan 4 núcleos y 16 GB de memoria.
ibmcloud oc cluster create classic --name my-tutorial-cluster --location wdc04 --version 4.21_openshift --flavor b3c.4x16 --workers 2 --public-service-endpoint -
El proceso de creación del clúster puede tardar un rato en completarse. Después de que el estado del clúster muestre Normal, la red del clúster y los componentes de Ingress tardan unos 10 minutos más en desplegarse y actualizar el dominio de clúster que utiliza para la consola web de Red Hat OpenShift y otras rutas.
-
Obtenga una lista de los detalles del clúster. Revise el Estado del clúster, compruebe el Subdominio de Ingress y anote el URL maestro.
ibmcloud oc cluster get --cluster CLUSTER_NAME_OR_ID -
Descarga e incorpora el archivo de configuración
kubeconfigde tu clúster.ibmcloud oc cluster config --cluster CLUSTER_NAME_OR_ID -
En el navegador, vaya a la dirección de su URL maestro y añada
/console. Por ejemplo,https://c0.containers.cloud.ibm.com:23652/console. -
Compruebe que los mandatos
ocse ejecutan correctamente con el clúster comprobando la versión.oc versionSalida de ejemplo
Client Version: v4.21.0 Kubernetes Version: v1.35.7.2Si no puede realizar operaciones que requieran permisos de administrador como, por ejemplo, listar todos los nodos de trabajador o los pods de un clúster, descargue los certificados TLS y los archivos de permisos para el administrador del clúster ejecutando el mandato
ibmcloud oc cluster config --cluster CLUSTER_NAME_OR_ID --admin.
Navegación en la consola de Red Hat OpenShift
- Desde la consola, selecciona tu clúster de Red Hat OpenShift y, a continuación, haz clic en OpenShift (Consola web ).
- Para trabajar con tu clúster en la CLI, haz clic en tu perfil
IAM#user.name@email.com> Copiar comando de inicio de sesión. Visualice y copie el comando de tokenoc loginen la línea de comandos para autenticar usando la CLI.
Despliegue de una app en el clúster
-
Cree un proyecto para la app Hello World.
oc new-project hello-world -
Cree la app de ejemplo a partir del código fuente utilizando el mandato
oc new-app.oc new-app --name hello-world https://github.com/IBM/container-service-getting-started-wt --context-dir="Lab 1"Es posible que se visualice un mensaje de aviso en la salida, pero no afecta a este ejemplo.
-
Obtenga una lista de los servicios hello-world y anote el nombre del servicio. La aplicación escucha el tráfico en estas direcciones IP de clúster internas, a menos que cree una ruta para el servicio, para que el controlador de Ingress pueda reenviar solicitudes de tráfico externas a la aplicación.
oc get svc -n hello-worldSalida de ejemplo
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-world ClusterIP 172.21.xxx.xxx <none> 8080/TCP 31m -
Liste los pods y asegúrese de que el estado de los pods hello-world sea Running y de que los pods
buildydeploysean Completedoc get pods -n hello-worldSalida de ejemplo
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 -
Configure una ruta de modo que pueda acceder públicamente al servicio hello world.
oc create route edge --service=hello-world -n hello-world -
Obtenga la dirección de nombre de host de la ruta desde la salida de Host/Port.
oc get route -n hello-worldSalida de ejemplo
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 -
Acceda a la aplicación. Asegúrese de añadir
https://al nombre de host de la ruta. Puede tardar un minuto antes de que el servicio expuesto sea visible.curl https://hello-world-hello-world.CLUSTER-NAME-RANDOM-ID.REGION.containers.appdomain.cloudSalida de ejemplo
Hello world from hello-world-9cv7d! Your app is up and running in a cluster!
Revisar los recursos de los tutoriales
- Liste los recursos en el proyecto
hello-world.
Salida de ejemplooc 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 - Suprima los recursos.
oc delete all -l app=hello-world -n hello-world
¿Qué hacer a continuación?
Instale dos complementos populares para clústeres de Red Hat OpenShift on IBM Cloud: IBM Cloud Logs y IBM Cloud Monitoring.