Rancher 2.5


Entorno de kubernetes con Rancher 2.5

Published on December 09, 2021 by Lucho

post linux kubernetes rancher

3 min READ

Un poco de teoria…

¿Que es Kubernetes?

Kubernetes es un proyecto Open Source de Google para la gestión de aplicaciones en contenedores, en especial los contenedores Docker, permitiendo programar el despliegue, escalado, monitorización de los contenedores, etc. Permite empaquetar las aplicaciones en contenedores, trasladarlos fácil y rápidamente a cualquier equipo para ejecutarlas. Fue diseñado para ser un entorno para la creación de aplicaciones distribuidas en contenedores. Es un sistema para la construcción, funcionamiento y gestión de sistemas distribuidos.

¿Que es Rancher?

Rancher fue construido originalmente para trabajar con múltiples orquestadores. Rancher 2 implementa y administra exclusivamente los clústeres de Kubernetes que se ejecutan en cualquier lugar y en cualquier proveedor. Rancher puede aprovisionar Kubernetes desde un proveedor alojado, aprovisionar nodos de cómputo y luego instalar Kubernetes en ellos, o importar clústeres de Kubernetes existentes que se ejecutan en cualquier lugar.

¿Que es RKE?

Rancher Kubernetes Engine (RKE) es una distribución de Kubernetes certificada por la CNCF que se ejecuta completamente dentro de contenedores Docker. Funciona en servidores bare-metal y virtualizados. RKE resuelve el problema de la complejidad de la instalación, un problema común en la comunidad de Kubernetes. Con RKE, la instalación y operación de Kubernetes se simplifica y se automatiza fácilmente, y es completamente independiente del sistema operativo y la plataforma que está ejecutando. Siempre que pueda ejecutar una versión compatible de Docker, puede implementar y ejecutar Kubernetes con RKE


Pasando a la practica…

En esta pequeña practica estaremos viendo el despliegue de un cluster con RKE y su posterior administracion con Rancher 2.5

Flujo de trabajo

  • Aprovisionamiento de las maquinas
  • Despliegue de un clúster con RKE
  • Despliegue de Rancher 2.5

Aprovisionamiento de las Maquinas

El aprovisionamiento de las maquinas/servidores/nodos se trata de la actualización/instalación/configuracion de los componentes para el posterior despliegue de la infraestructura

RKE

Para el despliegue de un cluster con RKE es necesario tener el binario estatico de rke, y configurar el manifiesto de despliegue

wget https://github.com/rancher/rke/releases/download/v1.3.2/rke_linux-amd64
chmod +x rke_linux-amd64
mv rke_linux-amd64 /usr/bin/rke
rke config --name cluster.yml # Configurar el manifiesto de acuerdo a sus necesidades
rke up


Al terminar el despliegue de RKE se nos crea un fichero “kube_config_cluster.yml” con el cual nos conectaremos al cluster con el cliente kubectl

alias k="kubectl --kubeconfig kube_config_cluster.yml"



Cert-Manager

Para el correcto despliegue de muchas aplicaciones requerimos de una identidad certificadora dentro del clúster. Dicha identidad certificadora es “cert-manager” la cual se encarga de emitir, revocar certificados de seguridad, etc…. Para el despliegue de dicho aplicativo, se crearon dos manifiestos en YML para su correcto despliegue



Aplicaciones

Para esta pequeña demo yo estare utlizando varias aplicaciones como:

  • MetalLB (Balanceador de Carga)
  • Traefik (Ingress Controller)
Estos servicios ya los tengo previamente desplegados


Rancher 2.5

En la documentacion oficial de Rancher se recomienda el despliegue con helm. Aunque en esta pequeña demo yo tengo los manifiestos en claro


Por ultimo afectamos el /etc/hosts para poder llegar a nuestro dominio de “rancher.k8s.lab” para poder llegar con nuestro navegador



FIN !!

Un saludo