Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado.

1. Configurar la infraestructura

En esta sección, se provisionará la infraestructura subyacente para el servidor de gestión de Rancher con acceso a internet a través de un proxy HTTP.

Para instalar el servidor de gestión de Rancher en un clúster RKE2/K3s de alta disponibilidad, recomendamos configurar la siguiente infraestructura:

  • Tres nodos Linux, típicamente máquinas virtuales, en un proveedor de infraestructura como EC2 de Amazon, Google Compute Engine o vSphere.

  • Un equilibrador de carga para dirigir el tráfico front end a los tres nodos.

  • Un registro DNS para mapear una URL al equilibrador de carga. Esto se convertirá en la URL del servidor de Rancher, y los clústeres de Kubernetes en sentido descendente necesitarán poder acceder a ella.

Estos nodos deben estar en la misma región/centro de datos. Se pueden colocar estos servidores en zonas de disponibilidad separadas.

¿Por qué tres nodos?

En un clúster RKE2/K3s, los datos del servidor de Rancher se almacenan en etcd. Esta base de datos etcd se ejecuta en los tres nodos.

La base de datos etcd requiere un número impar de nodos para que siempre pueda elegir un líder con la mayoría del clúster etcd. Si la base de datos etcd no puede elegir un líder, etcd puede sufrir de cerebro dividido, lo que requiere que el clúster sea restaurado desde una copia de seguridad. Si uno de los tres nodos etcd falla, los dos nodos restantes pueden elegir un líder porque tienen la mayoría del número total de nodos etcd.

1. Configurar Nodos Linux

Estos hosts se conectarán a Internet a través de un proxy HTTP.

Asegúrate de que tus nodos cumplan con los requisitos generales de instalación para SO, entorno de ejecución de contenedor, hardware y red.

Para un ejemplo de una forma de configurar nodos Linux, consulta este tutorial para configurar nodos como instancias en Amazon EC2.

2. Configurar el balanceador de carga

También necesitarás configurar un balanceador de carga para dirigir el tráfico a la réplica de Rancher en ambos nodos. Eso evitará que una caída de cualquier nodo individual interrumpa las comunicaciones con el servidor de gestión de Rancher.

Cuando Kubernetes se configure en un paso posterior, la herramienta RKE2/K3s desplegará un controlador de Ingress NGINX. Este controlador escuchará en los puertos 80 y 443 de los nodos trabajadores, respondiendo al tráfico destinado a nombres de host específicos.

Cuando Rancher esté instalado (también en un paso posterior), el sistema Rancher creará un recurso de Ingress. Ese Ingress le indica al controlador de Ingress NGINX que escuche el tráfico destinado al nombre de host de Rancher. El controlador de Ingress NGINX, al recibir tráfico destinado al nombre de host de Rancher, redirigirá ese tráfico a los pods de Rancher en ejecución en el clúster.

Para tu implementación, considera si deseas o necesitas usar un balanceador de carga de Capa 4 o Capa 7:

  • Un balanceador de carga de capa 4 es la opción más simple de las dos, en la que estás reenviando tráfico TCP a tus nodos. Recomendamos configurar tu balanceador de carga como un balanceador de Capa 4, reenviando tráfico a los puertos TCP/80 y TCP/443 a los nodos del clúster de gestión de Rancher. El controlador de Ingress en el clúster redirigirá el tráfico HTTP a HTTPS y terminará SSL/TLS en el puerto TCP/443. El controlador Ingress redirigirá el tráfico al puerto TCP/80 al pod Ingress en el despliegue de Rancher.

  • Un equilibrador de carga de capa 7 es un poco más complicado, pero puede ofrecer características que desees. Por ejemplo, un equilibrador de carga de capa 7 es capaz de manejar la terminación de TLS en el equilibrador de carga, a diferencia de que Rancher realice la terminación de TLS por sí mismo. Esto puede ser beneficioso si deseas centralizar la terminación de TLS en tu infraestructura. El equilibrado de carga de capa 7 también ofrece la capacidad de que tu equilibrador de carga tome decisiones basadas en atributos HTTP como cookies, etc., que un equilibrador de carga de capa 4 no puede considerar. Si decides terminar el tráfico SSL/TLS en un equilibrador de carga de capa 7, necesitarás usar la opción --set tls=external al instalar Rancher en un paso posterior. Para más información, consulta las opciones del gráfico Helm de Rancher.

Para un ejemplo que muestre cómo configurar un equilibrador de carga NGINX, consulta esta página.

Para una guía de instrucciones para configurar un balanceador de carga de red Amazon ELB, consulta esta página.

Importante:

No utilices este equilibrador de carga (es decir, el local Ingress del clúster) para equilibrar aplicaciones distintas a Rancher tras la instalación. Compartir este Ingress con otras aplicaciones puede resultar en errores de websocket para Rancher tras las recargas de configuración de Ingress para otras aplicaciones. Recomendamos dedicar el local clúster a Rancher y no a otras aplicaciones.

3. Configura el registro DNS

Una vez que hayas configurado tu equilibrador de carga, necesitarás crear un registro DNS para enviar tráfico a este equilibrador de carga.

Dependiendo de tu entorno, esto puede ser un registro A apuntando a la IP del LB, o puede ser un CNAME apuntando al nombre de host del equilibrador de carga. En cualquier caso, asegúrate de que este registro sea el nombre de host al que pretendes que Rancher responda.

Necesitarás especificar este nombre de host en un paso posterior cuando instales Rancher, y no es posible cambiarlo más tarde. Asegúrate de que tu decisión sea definitiva.

Para una guía de instrucciones para configurar un registro DNS que dirija el tráfico de dominio a un equilibrador de carga Amazon ELB, consulta la documentación oficial de AWS.