
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:~>
- Establecer una sesión como el usuario student al servidor:
lab-#-aiostudent@lab-0-bastion:~> export LAB=Xstudent@lab-0-bastion:~> ssh student@lab-${LAB}-aio - Cambiar al usuario
rootstudent@lab-0-aio:~> sudo -i - En el servidor como usuario
rootdefiniremos las variables de entornor para acceder al clusterexport KUBECONFIG=/etc/rancher/rke2/rke2.yaml export PATH=$PATH:/var/lib/rancher/rke2/bin - 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.
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.
export INSTALL_RKE2_TYPE=server export INSTALL_RKE2_VERSION=v1.30.5+rke2r1 - Una vez definidas estas variables vamos a ejecutar el script de la siguiente manera:
Esperamos que el script finalize su ejecución y que no muestre errores.
./install.sh - Al finalizar la ejecución del script debemos reiniciar el servicio de rke con el siguiente comando:
systemctl restart rke2-server - Comprobamos la version de kubernetes con el comando
Deberiamos observar la version de kubernetes en
kubectl get nodes1.30.5para 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.
- Establecer una sesión como el usuario student al servidor:
`lab-#-masterstudent@lab-0-bastion:~> export LAB=Xstudent@lab-0-bastion:~> ssh student@lab-${LAB}-master - Cambiar al usuario
rootstudent@lab-0-aio:~> sudo -i - En el servidor como usuario
rootdefiniremos las variables de entornor para acceder al clusterexport KUBECONFIG=/etc/rancher/rke2/rke2.yamlexport PATH=$PATH:/var/lib/rancher/rke2/bin - 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=serverEn 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.export INSTALL_RKE2_VERSION=v1.30.5+rke2r1 - Una vez definidas estas variables ejecutaremos el script de instalación:
Esperamos que el script finalize su ejecución y que no muestre errores.
./install.sh - Al finalizar la ejecución del script debemos reiniciar el servicio de rke con el comando siguiente:
systemctl restart rke2-server - Comprobamos la version de kubernetes con el siguiente comando:
Deberiamos observar la version de kubernetes en
kubectl get nodes1.30.5para 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. - Asegurese de salir de la sesión del servidor Master
- Establecer una sesión como el usuario student al servidor:
`lab-#-node1student@lab-0-bastion:~> export LAB=Xstudent@lab-0-bastion:~> ssh student@lab-${LAB}-node1 - Cambiar al usuario
rootstudent@lab-0-aio:~> sudo -i - En el servidor como usuario
rootdefiniremos las variables de entornor para acceder al clusterexport KUBECONFIG=/etc/rancher/rke2/rke2.yamlexport PATH=$PATH:/var/lib/rancher/rke2/bin - 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=agentEn 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.export INSTALL_RKE2_VERSION=v1.30.5+rke2r1 - Una vez definidas estas variables ejecutaremos el script de instalación:
Esperamos que el script finalize su ejecución y que no muestre errores.
./install.sh - Al finalizar la ejecución del script debemos reiniciar el servicio de rke con el comando siguiente:
systemctl restart rke2-agent - Repetir los mismos pasos ejecutados en el servidor
lab-#-node1paralab-#-node2. Y verificar que todo se ejecute sin errores. - Asegurarse de estar en el servidor
bastioncon el usuariostudentstudent@lab-0-bastion:~> - 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
La salida del comando anterior, debe ser similar a la siguiente:
kubectl --kubeconfig=/home/student/rke2_conn/aio/aio_kubeconfig.yaml get nodes -L clusterVerificar la conexión a Cluster 1.NAME STATUS ROLES AGE VERSION CLUSTER lab-0-aio.c.mx-g01.internal Ready control-plane,etcd,master 21h v1.30.5+rke2r1 rancherLa salida del comando anterior, debe ser similar a la siguiente:kubectl --kubeconfig=/home/student/rke2_conn/cluster1/cluster1_kubeconfig.yaml get nodes -L clusterNAME 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