En este post vamos a aprender los requerimientos de un clúster de Kubernetes usando un servidor Rancher para producción.

Existen muchas herramientas para configurar e instalar un servidor Kubernetes, ¿por que usar Rancher?

Kubernetes es difícil de instalar y contiene muchas configuraciones, esa es la mejor respuesta para utilizar un configurador de Kubernetes, por ejemplo en nube AWS tiene EKS, GPC tiene GKE y Azure tiene AKS, y para servidores físicos tenemos herramientas como microk8s, Charmed Kubernetes y Rancher

Rancher nos ayuda con la mayoría de configuración de Kubernetes, pudiendo configurar un clúster de manera fácil.

Cual es la arquitectura de un Rancher Server ?

Rancher Server puede ser instalado en estas arquitecturas

  • Instalación de Kubernetes Altamente Disponible: Rancher recomienda usar Helm, un configurador de Kubernetes, para instalar Rancher en múltiples nodos en un clúster de Kubernetes. Para clústeres RKE, se requieren tres nodos para que el clúster sea altamente disponible
  • Instalación en un nodo de Kubernetes: Otra opción es instalar Rancher usando Helm en un clúster Kubernetes, pero solo usando un nodo para la instalación. En este caso, el servidor Rancher no tiene alta disponibilidad, lo cual es importante a la hora de operar Rancher en un entorno de producción. Sin embargo, esta opción puede ayudar si se esta buscando ahorrar recursos a corto plazo en un nodo sencillo, mientras se deja disponible una migración clara a una arquitectura de alta disponibilidad. En un futuro, puedes agregar nodos al clúster para habilitar la alta disponibilidad del servidor Rancher
  • Instalación sobre Docker: Usado para pruebas y demostración, Rancher puede ser instalado sobre Docker en un único nodo. Esta instalación es la mas sencilla, funciona de forma inmediata, pero no hay un camino de migración desde Docker a una instalación de alta disponibilidad. Por eso, puede que quieras usar una instalación Kubernetes desde un inicio.

En este laboratorio vamos a hacer una instalación de Kubernetes para alta disponibilidad.

Terminología

En este post

  • Rancher nos vamos a referir como Rancher a la empresa
  • El servidor Rancher maneja y monitorea los clústeres de Kubernetes. Puedes interactuar con Kubernetes clústeres bajo la aplicación a través de su interfaz
  • RKE (Rancher Kubernetes Engine) es una distribución de Kubernetes certificada y una librería CLI que crea y maneja un clústeres de Kubernetes

Requisitos

  • Conocimientos básicos de Linux
  • Una computadora externa desde la cual vamos a aprovisionar los nodos (computadora de operador)
  • Nano instalado (sudo apt install nano) en la computadora de operador
  • Tres computadoras para el RKE con Linux 64 bits (nodos)
  • servidor ssh instalado en los nodos para conexión externa

Que es lo que va a hacer esta instalación compatible con producción?

Vamos a usar las recomendaciones de Rancher, estas recomendaciones son para clústeres de producción e incluyen seguridad, rendimiento y redes.

  • Crear un clúster en alta disponibilidad (HA) esto quiere decir que el servidor Rancher va a ir en al menos 3 nodos
  • Nombre de host único para cada nodo
  • Abrir los puertos TCP/UDP
  • Activar firewall
  • Instalar una versión de Docker soportada por
  • Activar los módulos recomendados por el servidor Rancher
  • Desactivar la memoria Swap
  • Activar el re-direccionamiento de puertos
Se recomienda que el servidor Rancher valla use SSD y sean la única aplicación en el nodo para producción.

En el siguiente post vamos a preparar los nodos para un clúster RKE

Referencias: