Skip to content

Rancher and RKE

Actualización de Rancher Kubernetes Engine v2


Introducción

La actualización de Rancher Kubernetes Engine v2 (RKE2) es un proceso crítico para mantener la estabilidad, seguridad y rendimiento de los clústeres de Kubernetes en entornos empresariales. RKE2, como solución robusta de orquestación de contenedores, se beneficia de actualizaciones periódicas que incluyen mejoras en sus funcionalidades, parches de seguridad y soporte para nuevas versiones de Kubernetes.

Realizar una actualización adecuada no solo asegura que los clústeres aprovechen las últimas optimizaciones, sino que también protege las aplicaciones y datos frente a vulnerabilidades emergentes. El proceso de actualización en RKE2 se ha diseñado para ser seguro y eficiente, reduciendo al mínimo el tiempo de inactividad y las interrupciones en los servicios críticos. Esto permite a los administradores de sistemas y equipos de DevOps gestionar sus clústeres con confianza y mantener una infraestructura moderna y competitiva.

En este tema, exploraremos los pasos y las mejores prácticas para actualizar RKE2, desde la planificación y preparación hasta la ejecución y verificación post-actualización, asegurando así un proceso exitoso y alineado con los estándares de las mejores prácticas en la industria.


Objetivo

Objetivo General:

  • Capacitar a los administradores de sistemas y equipos de DevOps en el proceso de actualización de Rancher Kubernetes Engine v2 (RKE2), asegurando que puedan llevar a cabo actualizaciones de manera segura y eficiente. El objetivo es proporcionar los conocimientos y las mejores prácticas necesarios para planificar, ejecutar y verificar las actualizaciones de RKE2, minimizando el tiempo de inactividad y garantizando la continuidad operativa, la estabilidad y la seguridad de los clústeres de Kubernetes en entornos empresariales.

Laboratorio: Actualización de Rancher Kubernetes Engine v2 en All In One

Antes de comenzar

  • Contar con el acceso al ambiente de laboratorio
  • Haber realizado la validación de conexión y funcionamiento
  • Finalizar las prácticas de laboratorio de las instalaciones de RKE2.

Inicio de laboratorio

Asegurarse de estar en el servidor bastion con el usuario student

student@lab-0-bastion:~>

  1. Establecer una sesión como el usuario student al servidor: lab-#-aio
    student@lab-0-bastion:~> export LAB=X
    
    student@lab-0-bastion:~> ssh student@lab-${LAB}-aio 
    
  2. Cambiar al usuario root
    student@lab-0-aio:~> sudo -i
    
  3. En el servidor como usuario root definiremos las variables de entornor para acceder al cluster
    export KUBECONFIG=/etc/rancher/rke2/rke2.yaml
    export PATH=$PATH:/var/lib/rancher/rke2/bin
    
  4. Rancher Kubernetes Engine v2 (rke2), se actualiza por medio del script descargado en el proceso de la instalación. Como primer paso vamos a definir tanto el tipo de nodo como la version de kubernetes a la cual se desea actualizar.
    export INSTALL_RKE2_TYPE=server
    export INSTALL_RKE2_VERSION=v1.30.5+rke2r1
    
    En este laboratorio, se realizará la actualización hacia kubernetes 1.30.5, esto debido a que es una de las versiones soportada por Rancher Manager Server 2.9.x.
  5. Una vez definidas estas variables vamos a ejecutar el script de la siguiente manera:
    ./install.sh
    
    Esperamos que el script finalize su ejecución y que no muestre errores.
  6. Al finalizar la ejecución del script debemos reiniciar el servicio de rke con el siguiente comando:
    systemctl restart rke2-server
    
  7. Comprobamos la version de kubernetes con el comando
    kubectl get nodes
    
    Deberiamos observar la version de kubernetes en 1.30.5 para los Nodos de conforman el cluster de Kubernetes.

Laboratorio: Actualización de Rancher Kubernetes Engine v2 en Cluster multinodos

Antes de comenzar

  • Contar con el acceso al ambiente de laboratorio
  • Haber realizado la validación de conexión y funcionamiento
  • Finalizar las prácticas de laboratorio de las instalaciones de RKE2.

Inicio de laboratorio

Asegurarse de estar en el servidor bastion con el usuario student

student@lab-0-bastion:~>

Para la actualizacion de un cluster multinodos es un proceso similar a la actualizacion de un cluster All In One, con la diferencia que pueden ser varios Nodos Masters o Workers. Siempre se deben actualizarse los nodos del Control Plane o Masters primero. Debido a lo anterios, se comenzará con el servidor Master del Cluster 1.

  1. Establecer una sesión como el usuario student al servidor: `lab-#-master
    student@lab-0-bastion:~> export LAB=X
    
    student@lab-0-bastion:~> ssh student@lab-${LAB}-master
    
  2. Cambiar al usuario root
    student@lab-0-aio:~> sudo -i
    
  3. En el servidor como usuario root definiremos las variables de entornor para acceder al cluster
    export KUBECONFIG=/etc/rancher/rke2/rke2.yaml
    
    export PATH=$PATH:/var/lib/rancher/rke2/bin
    
  4. Como primer paso vamos a definir tanto el tipo de nodo y la version de kubernetes a la cual se desea actualizar.
    export INSTALL_RKE2_TYPE=server
    
    export INSTALL_RKE2_VERSION=v1.30.5+rke2r1
    
    En este laboratorio, se realizará la actualización hacia kubernetes 1.30.5, esto debido a que es una de las versiones soportada por Rancher Manager Server 2.9.x.
  5. Una vez definidas estas variables ejecutaremos el script de instalación:
    ./install.sh
    
    Esperamos que el script finalize su ejecución y que no muestre errores.
  6. Al finalizar la ejecución del script debemos reiniciar el servicio de rke con el comando siguiente:
    systemctl restart rke2-server
    
  7. Comprobamos la version de kubernetes con el siguiente comando:
    kubectl get nodes
    
    Deberiamos observar la version de kubernetes en 1.30.5 para los Nodos actualizados que conforman el cluster de Kubernetes, en este paso el servidor que debe aparecer con la nueva versión es el servidor Master.
  8. Asegurese de salir de la sesión del servidor Master
  9. Establecer una sesión como el usuario student al servidor: `lab-#-node1
    student@lab-0-bastion:~> export LAB=X
    
    student@lab-0-bastion:~> ssh student@lab-${LAB}-node1
    
  10. Cambiar al usuario root
    student@lab-0-aio:~> sudo -i
    
  11. En el servidor como usuario root definiremos las variables de entornor para acceder al cluster
    export KUBECONFIG=/etc/rancher/rke2/rke2.yaml
    
    export PATH=$PATH:/var/lib/rancher/rke2/bin
    
  12. Como primer paso vamos a definir tanto el tipo de nodo y la version de kubernetes a la cual se desea actualizar.
    export INSTALL_RKE2_TYPE=agent
    
    export INSTALL_RKE2_VERSION=v1.30.5+rke2r1
    
    En este laboratorio, se realizará la actualización hacia kubernetes 1.30.5, esto debido a que es una de las versiones soportada por Rancher Manager Server 2.9.x.
  13. Una vez definidas estas variables ejecutaremos el script de instalación:
    ./install.sh
    
    Esperamos que el script finalize su ejecución y que no muestre errores.
  14. Al finalizar la ejecución del script debemos reiniciar el servicio de rke con el comando siguiente:
    systemctl restart rke2-agent
    
  15. Repetir los mismos pasos ejecutados en el servidor lab-#-node1 para lab-#-node2. Y verificar que todo se ejecute sin errores.
  16. Asegurarse de estar en el servidor bastion con el usuario student
    student@lab-0-bastion:~>
    
  17. Compruebe que tanto el cluster de Kubernetes All In One y Cluster1 esten actualizados con los siguientes comandos: Verificar la conexión a All In One Cluster
    kubectl --kubeconfig=/home/student/rke2_conn/aio/aio_kubeconfig.yaml get nodes -L cluster
    
    La salida del comando anterior, debe ser similar a la siguiente:
    NAME                          STATUS   ROLES                       AGE   VERSION          CLUSTER
    lab-0-aio.c.mx-g01.internal   Ready    control-plane,etcd,master   21h   v1.30.5+rke2r1   rancher
    
    Verificar la conexión a Cluster 1.
    kubectl --kubeconfig=/home/student/rke2_conn/cluster1/cluster1_kubeconfig.yaml get nodes -L cluster
    
    La salida del comando anterior, debe ser similar a la siguiente:
    NAME                             STATUS   ROLES                       AGE   VERSION          CLUSTER
    lab-0-master.c.mx-g01.internal   Ready    control-plane,etcd,master   22h   v1.30.5+rke2r1   cluster1
    lab-0-node1.c.mx-g01.internal    Ready    <none>                      22h   v1.30.5+rke2r1   
    lab-0-node2.c.mx-g01.internal    Ready    <none>                      22h   v1.30.5+rke2r1