Rancher: la plataforma open source para la administración de contenedores

En el post de hoy vamos a hablar del producto de SUSE que facilita la gestión de clústeres de Kubernetes, independientemente del entorno donde se encuentren instalados: Rancher

¿Por qué Rancher es la mejor opción para la gestión de clústeres de Kubernetes?

  • Rancher es un software de código abierto que proporciona una solución extremo a extremo para equipos que trabajan con contenedores.
  • Aborda los desafíos operativos y de seguridad que conlleva administrar múltiples clústeres de Kubernetes, al tiempo que brinda a los equipos de DevOps herramientas integradas para ejecutar cargas de trabajo en contenedores.
  • Presenta un plano de control centralizado que unifica la administración de cada clúster de Kubernetes en su organización.
  • Actúa como un proxy de autenticación para kubectl y expone una potente API para el control programático de todas las funciones de Rancher. 

Esta plataforma tiene un amplio catálogo de servicios para crear, implementar y escalar aplicaciones en contenedores, incluido el empaquetado de aplicaciones, CI/CD, registro, monitoreo y malla de servicios (Service Mesh). 

Suse Rancher facilita la gestión de clústeres de Kubernetes. Además, proporciona una autenticación centralizada, autorización, plantillas de control de acceso basado en roles (RBAC), plantillas de PodSecurityPolicy (PSP) y Admission Controllers para el control de los recursos a través de límites.

Sin embargo, cuando conecta Rancher a su proveedor de autenticación de backend y usa plantillas para la configuración, puede implementar un clúster de Kubernetes completo con RBAC en cuestión de minutos.

Por su parte, los administradores y operadores de sistemas encontrarán la interfaz de usuario intuitiva y amigable, lo que les brinda acceso a todo lo necesario para implementar y administrar las cargas de trabajo de clústeres de Kubernetes.

Por otro lado, es capaz de resolver desafíos operativos como el aprovisionamiento de clústeres, las actualizaciones, la administración de usuarios, el monitoreo y la aplicación de políticas de seguridad.

Otra de sus funcionalidades es que permite importar clústeres existentes con facilidad o definir la configuración de su clúster como código.

Además, Rancher construirá y escalará Kubernetes en cualquier infraestructura utilizando RKE, un motor de aprovisionamiento y distribución de Kubernetes certificado creado para entornos de nube híbrida.

Arquitectura de Rancher Server para la gestión de clústeres de Kubernetes

Rancher
En este diagrama se presenta la arquitectura de Rancher, donde un usuario puede ejecutar un comando kubectl para listar los pods. El proxy de autenticación de Rancher verificará que el usuario dispone de las credenciales correctas para acceder a través de la consola.

A su vez el Authentication Proxy reenviará todas las llamadas de la API de Kubernetes hacia los clústeres gestionados mediante Service Accounts, lo que proporciona una identidad para los procesos que se ejecutan en un pod.

Esta autenticación también permite integrarse con los servicios de Active Directory o Github.

De forma predeterminada, Rancher genera un archivo kubeconfig que contiene las credenciales para utilizar el proxy a través del servidor Rancher y establecer una conexión hacia la API de Kubernetes.

El archivo kubeconfig contiene acceso completo al clúster.

Cada clúster gestionado contiene un Cluster Agent que abre un túnel hacia el controlador de Rancher correspondiente.

Este controlador se encarga de las siguientes funciones: 

  • Vigilar los cambios de recursos en los Downstream User Clusters 
  • Proporcionar el estado actual deseado hacia los clústeres gestionados
  • Configurar políticas de control de acceso a nivel de proyecto y de clúster 
  • Aprovisionar infraestructura llamando a los controladores de Docker o a los motores de Kubernetes como RKE

Dentro de los nodos también encontramos desplegados los Node Agents, que también establecen una conexión hacia el controlador de Rancher para comunicarse con el servidor, en el caso de que los Cluster Agents no se encuentren disponibles.

Este tipo de agente se implementa mediante un DaemonSet para asegurarse de que se ejecute en todos los nodos del clúster de Kubernetes.

Se utiliza para interactuar con los nodos cuando se realizan operaciones de clúster, como puede ser actualizar la versión de Kubernetes o la creación/restauración de snapshots en el etcd.

Distribuciones certificadas de Kubernetes

Rancher admite cualquier distribución certificada de Kubernetes. Para cargas de trabajo locales, ofrece RKE, y en la nube pública, se admiten todas las distribuciones principales, incluidas EKS, AKS y GKE.

En las cargas de trabajo de escritorio, sucursales y perimetrales, ofrece K3s, una distribución ligera certificada por la CNCF (Cloud Native Computing Foundation) diseñada especialmente para dispositivos IoT y computación perimetral.

Rancher

Lanzamiento de aplicaciones en multiclúster

Si su equipo de DevOps utiliza Helm de forma habitual para empaquetar e implementar aplicaciones de manera segura en su clúster, con el catálogo de aplicaciones de Rancher puede ampliar el alcance de Helm para instalar y actualizar aplicaciones en varios clústeres de forma simultánea.

En el caso de que se esté explorando una solución de múltiples nubes o proveedores, esta función le proporciona flexibilidad al mismo tiempo que le brinda la confianza de que sus aplicaciones se mantienen consistentes. 

Rancher
Este diagrama muestra cómo desplegar aplicaciones en distintos clústeres de Kubernetes a través de un controlador de DNS Global.

El usuario puede utilizar el catálogo de Rancher o añadir uno personalizado de Helm para seleccionar las aplicaciones que desea implementar:

  • El usuario lanza una aplicación desde el catálogo hacia los clústeres o proyectos seleccionados desde la propia consola
  • Rancher desplegará la misma app hacia los distintos clústeres especificados
  • Se puede configurar la aplicación a nivel de clúster o proyecto
  • Ahora el usuario puede actualizar, retroceder o borrar la aplicación. Cada acción realizada se aplicará en cada uno de los clústeres
  • Para utilizar el DNS Global, el usuario debe añadir un Ingress utilizando la anotación ‘rancher.io/globalDNS.hostname’. Rancher facilitará el DNS externo si la anotación es aplicada.

Rancher Global DNS

La función de DNS global proporciona una forma de programar un proveedor de DNS externo para enrutar el tráfico a sus aplicaciones de Kubernetes.

Rancher

En el siguiente ejemplo les mostraremos cómo interactúan los distintos componentes para propagar los FQDN de los servidores DNS hacia los clústers:

  • Se crea el proveedor de DNS Global sobre Rancher. Una vez creado, se despliegan en el clúster de Rancher un Ingress y un Deployment que apunta al servicio de autoridad de certificación que gestiona las DNS. También se despliegan los controladores de GlobalDNS sobre los clústeres gestionados para buscar y actualizar los recursos de Ingress de Kubernetes.
  • Ahora el usuario crea la entrada en el DNS Global y se propaga hacia los distintos clústeres
  • El controlador del DNS Global escanea los Ingress de los clústeres gestionados y actualiza sus endpoints en el Ingress de Rancher.
  • Cualquier evento de Ingress que se ejecute buscará su hostname correspondiente en los endpoints del DNS Global a través de los controladores.

Alertas y monitorización

Rancher también incluye el envío de registros y métricas de clúster completas con Prometheus y Grafana.

Viene con un motor de canalización integrado para la entrega continua y un motor para generar alertas cuando un clúster no está funcionando bien.

Con una visibilidad completa de todo, desde los nodos hasta los pods y las métricas personalizadas de sus aplicaciones, la administración de clústeres resulta más sencilla que nunca.

Rancher

Conclusiones y ventajas de por qué Rancher facilita la gestión de clústeres de Kubernetes

Suse Rancher facilita la gestión de clústeres de Kubernetes y ofrece a los operadores una gestión del ciclo de vida de las distribuciones de Kubernetes alojadas en la nube y de los entornos en local.

Sin embargo, la ventaja principal de esta herramienta es que permite importar, aprovisionar, actualizar, configurar y proteger los clústeres directamente, utilizando una experiencia de usuario unificada e intuitiva. 

No obstante, permite la máxima consistencia de clústeres desde entornos locales hasta la nube.

Además, admite de 1 a 1.000.000 de clústeres desde una sola consola con capacidades de seguridad integradas, ejecutando cualquier distribución de Kubernetes certificada por la CNCF.

Al optimizar la entrega de aplicaciones en cualquier infraestructura de cualquier ubicación, las empresas pueden utilizar Rancher para acelerar su viaje hacia una verdadera transformación digital.

Hopla Software! es uno de los Partner Platinum de SUSE en España gracias a su amplia experiencia proporcionando servicios profesionales de sus productos para distintos clientes.

Para más información sobre Hopla, echa un vistazo a nuestra web.

Y si quieres saber más sobre Rancher, echa un vistazo a este webinar «La herramienta de gestión de múltiples clústers de Rancher

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *