Skip to content

Ambiente de Laboratorio


Introducción

A continuación, se detalla la información relevante sobre los recursos y servidores que se utilizarán durante el curso para el ambiente de laboratorio. Estos servidores están configurados para ofrecer un entorno controlado y óptimo que permitirá a los participantes practicar y aplicar los conocimientos adquiridos.


Objetivo

Proporcionar un entorno de laboratorio controlado y óptimo que facilite a los participantes la práctica y aplicación de los conocimientos adquiridos. Este entorno permitirá experimentar de forma segura y práctica con los recursos y servidores necesarios, reforzando las competencias técnicas y preparándolos para gestionar escenarios reales.


Ambiente de laboratorio

Par este entrenamiento, el estudiante contará con un servidor, el cual contiene los recursos necesarios para la ejecución del entrenamiento. Dicho servidor tendrá un nombre similar al siguiente:

  • student-#-aio.35-227-133-255.nip.io (Ejemplo)

Este servidor contará con una pre-instalación de un entorno de Kubernetes (RKE2) y Rancher Manager Server.

Acceso a Rancher Manager

El estudiante deberá acceder por medio de un navegador a la consola web de Rancher Manager Server, el instructor proporcionará la información necesaria por medio de un archivo de inventario.

Acceso por medio de SSH

Cada servidor cuenta con un usuario llamado "student" con permisos de SUDO para utilizar en los laboratorios según las indicaciones. El instructor proporcionará una Llave Privada, el WILDCARD y el FQDN asignado para acceder a los servidores del laboratorio, el estudiante podrá utilizar el siguiente formato de comando para acceder:

# Validar esta información en su inventario
ssh <FQDN> -l <USERNAME> -i <PRIVATE_KEY_FILE>
Ejemplo:
ssh student-0-aio.34-19-16-179.nip.io \
-l student -i student-0-private_key.pem

Podrá utilizar su software cliente SSH de su preferencia, como por ejemplo: Putty o MobaXterm.

El instructor le indicará la ubicación de su inventario y la llave correspondiente para su ambiente de trabajo.

⚠️ Atención:
Antes de comenzar las prácticas de laboratorio, valide el acceso y compruebe que no haya ningún inconveniente

Validación de ambiente de Laboratorio si utiliza Linux

  1. Asegurese que su llave privada tenga los permisos adecuados
    chmod 0600 <PRIVATE_KEY_FILE>
    
  2. Ingrese via SSH el servidor con el FQDN proporcionado
    ssh <FQDN> -l <USERNAME> -i <PRIVATE_KEY_FILE>
    
    Ejemplo:
    ssh student-0-aio.34-19-16-179.nip.io \
    -l student -i student-0-private_key.pem
    

    ⚠️ Atención:
    Ante el mensaje similar al siguiente, escriba la respuesta yes

    The authenticity of host 'lab-0-aio (10.142.15.224)' can't be established.
    ED25519 key fingerprint is SHA256:cubOnGUYQAkMma2QAPIpTpsY8eqW/gleXO6W2YnlCms.
    This key is not known by any other names.
    Are you sure you want to continue connecting (yes/no/[fingerprint])?
    

Convierta su clave privada mediante PuTTYgen. (Si es necesario)

PuTTY no admite de forma nativa el formato PEM para claves SSH. PuTTY proporciona una herramienta llamada PuTTYgen, la cual convierte claves al formato requerido PPK para PuTTY. Si creó la clave mediante el formato PEM en lugar del formato PPK, debe convertir su clave privada (archivo .pem) a este formato (archivo .ppk) para utilizarla con PuTTY.

  1. Para convertir una clave privada de PEM a formato PPK, en el menú Start (Inicio), elija All Programs (Todos los programas), PuTTY, PuTTYgen.
  2. En Type of key to generate (Tipo de clave a generar), elija RSA. Si la versión de PuTTYGen no incluye esta opción, elija SSH-2 RSA.
  3. Elija Load (Cargar). De forma predeterminada, PuTTYgen muestra solo archivos con la extensión .ppk. Para localizar el archivo .pem, seleccione la opción de mostrar todos los tipos de archivo.
  4. Seleccione el archivo .pem para el par de claves que especificó cuando lanzó la instancia y, a continuación, elija Open (Abrir). PuTTYgen muestra un aviso de que el archivo .pem se ha importado correctamente. Seleccione OK.
  5. Elija Save private key (Guardar la clave privada) para guardar la clave en formato que PuTTY pueda utilizar. PuTTYgen mostrará una advertencia acerca de guardar la clave sin una frase de contraseña. Elija Yes (Sí).
  6. Especifique el nombre para la clave y elija Save (Guardar). PuTTY añade la extensión de archivo .ppk automáticamente.

La clave privada está ahora en el formato correcto para su uso con PuTTY. Ya puede conectarse a la instancia mediante el cliente SSH de PuTTY.

  1. Inicie PuTTY (en el menú Inicio, busque PuTTY y, a continuación, elija Abrir).
  2. En el panel Category (Categoría), elija Session (Sesión) y rellene los siguientes campos:
  3. En el cuadro Host Name (Nombre de host) colocar student-#-aio.WILDCARD, por ejemplo: student-0-aio.34-19-16-179.nip.io
  4. Asegúrese de que el valor del Port (Puerto) es 22.
  5. En Connection type (Tipo de conexión), seleccione SSH.
  6. En el panel Categoría, expanda Conexión, SSH y Autenticación. Elija Credenciales.
  7. Junto a Archivo de clave privada para la autenticación, seleccione Examinar.
  8. En el cuadro de diálogo Seleccionar archivo de clave privada, seleccione el archivo .ppk. Puede hacer doble clic en el archivo o seleccionar Abrir en el cuadro de diálogo Seleccionar archivo de clave privada.
  9. Si tiene previsto volver a conectar esta sesión después de esta sesión, puede guardar la sesión informativa para usarla en el futuro. En el panel Categoría, seleccione Sesión. Ingrese un nombre para la sesión en Sesiones guardadas y, a continuación, elija Guardar.
  10. Para conectarse a la instancia, seleccione Abrir.
  11. Si esta es la primera vez que se conecta a esta instancia, PuTTY muestra un cuadro de diálogo de alerta de seguridad que le pregunta si tiene confianza en el host al que se está conectando.
  12. Elija Aceptar. Se abre una ventana y está conectado a la instancia.

Comprobar funcionamiento de Kubernetes Cluster

  1. Validar el estado del cluster, después de haber ingresado por medio de SSH, cambiarse a usuario root y realizar las varidaciones siguientes:
    sudo -i
    
    export KUBECONFIG=/etc/rancher/rke2/rke2.yaml
    
    export PATH=$PATH:/var/lib/rancher/rke2/bin
    
    kubectl version
    
    kubectl get nodes
    
  2. Listar los pods en ejecución en este cluster. Si existe algún pod en estado de error, puede consultar sus bitcoras. Espere hasta que todos los pods, estén en estado Running o Completed.
    kubectl get pods -A
    
    La salida de los PODs debería ser similar a la siguiente:
    lab-0-bastion:~ # kubectl get pods -A
    NAMESPACE     NAME                                                       READY   STATUS      RESTARTS   AGE
    kube-system   cloud-controller-manager-lab-0-bastion.c.mx-g01.internal   1/1     Running     0          2m51s
    kube-system   etcd-lab-0-bastion.c.mx-g01.internal                       1/1     Running     0          2m32s
    kube-system   helm-install-rke2-canal-x5xrx                              0/1     Completed   0          2m37s
    kube-system   helm-install-rke2-coredns-4hbvk                            0/1     Completed   0          2m37s
    kube-system   helm-install-rke2-ingress-nginx-n7c7b                      0/1     Completed   0          2m37s
    kube-system   helm-install-rke2-metrics-server-xfcv5                     0/1     Completed   0          2m37s
    kube-system   helm-install-rke2-snapshot-controller-26n28                0/1     Completed   2          2m37s
    kube-system   helm-install-rke2-snapshot-controller-crd-tqll9            0/1     Completed   0          2m37s
    kube-system   helm-install-rke2-snapshot-validation-webhook-srnx9        0/1     Completed   0          2m37s
    kube-system   kube-apiserver-lab-0-bastion.c.mx-g01.internal             1/1     Running     0          2m49s
    kube-system   kube-controller-manager-lab-0-bastion.c.mx-g01.internal    1/1     Running     0          2m43s
    kube-system   kube-proxy-lab-0-bastion.c.mx-g01.internal                 1/1     Running     0          2m43s
    kube-system   kube-scheduler-lab-0-bastion.c.mx-g01.internal             1/1     Running     0          2m43s
    kube-system   rke2-canal-8lnzv                                           2/2     Running     0          2m29s
    kube-system   rke2-coredns-rke2-coredns-55bf79979b-zk5rs                 1/1     Running     0          2m31s
    kube-system   rke2-coredns-rke2-coredns-autoscaler-564964dcd5-85qc7      1/1     Running     0          2m31s
    kube-system   rke2-ingress-nginx-controller-blbdz                        1/1     Running     0          90s
    kube-system   rke2-metrics-server-6cd986844b-9ltqg                       1/1     Running     0          113s
    kube-system   rke2-snapshot-controller-59cc9cd8f4-lnnwq                  1/1     Running     0          89s
    kube-system   rke2-snapshot-validation-webhook-54c5989b65-jjs68          1/1     Running     0          106s
    lab-0-bastion:~ #
    

Conclusión

El uso de un entorno de laboratorio adecuado es clave para garantizar una experiencia de aprendizaje efectiva y práctica. Los servidores configurados para este curso proporcionan un espacio controlado donde los participantes pueden experimentar las diferentes guías de laboratorio. Esto no solo facilita la comprensión de los conceptos teóricos, sino que también permite desarrollar habilidades técnicas esenciales para el manejo en escenarios del mundo real.