Volver al blog

Explorando CloudSigma PaaS: Cómo acceder a una aplicación de Kubernetes a través de una IP pública

Explorando CloudSigma PaaS: Cómo acceder a una aplicación de Kubernetes a través de una IP pública

CloudSigma PaaS permite a los usuarios exponer sus aplicaciones utilizando una dirección IP pública. Esta dirección debe estar asociada a un nodo del entorno del clúster de Kubernetes. Hay dos formas de lograr esto en el entorno CloudSigma PaaS:

  • Una forma es asociar la IP pública a un balanceador de carga dedicado.1-Public IP for Access to Kubernetes Application in Jelastic PaaS
  • Otra forma es asociar la IP pública a un nodo Worker de Kubernetes.

En este tutorial, le guiaremos sobre cómo obtener acceso a la aplicación de Kubernetes utilizando cualquiera de estos enfoques.

Configuración de un balanceador de carga dedicado para el acceso a la aplicación de Kubernetes

Primero, aprenderemos cómo configurar un balanceador de carga dedicado para el acceso a la aplicación:

  1. Diríjase al CloudSigma Marketplace para localizar e instalar el clúster de Kubernetes. Luego, implemente su aplicación. Como ejemplo, implementaremos el Jakarta EE Cargo Tracker.
  2. . Junto a su clúster de Kubernetes, busque y haga clic en Cambiar la topología del entorno. En la ventana que se abre en su pantalla, agregue un nodo de balanceador de carga dedicado. Luego, asocie una dirección IP pública al mismo de esta manera:

2-Public IP Jelastic PaaS

En nuestro ejemplo, hemos utilizado el nodo de balanceador de carga NGINX. Hay varios otros balanceadores de carga disponibles, incluyendo HAProxy, , LS Web ADC y Varnish. Puede elegir el que prefiera utilizar.

Cuando haya terminado de modificar la topología, los cambios aplicados se verán así:

3-Public IP for Access to Kubernetes Application in Jelastic PaaS

4-Public IP for Access to Kubernetes Application in Jelastic PaaS

3. El siguiente paso es crear un registro A para un dominio personalizado. Utilizará la misma dirección IP pública que utilizó en los pasos anteriores. En este ejemplo, utilizaremos cargo-tracker.cloudsigma.website:

5-Public IP for Access to Kubernetes Application in Jelastic PaaS

4. Ahora podemos asociar nuestro dominio personalizado al clúster de K8s. Para hacer esto, enviaremos una solicitud para emitir un certificado Let’s Encrypt SSL de confianza:

  • Pase el cursor sobre el balanceador de carga y haga clic en Complementos.
  • Busque e instale Let’s Encrypt Free SSL:

6-Public IP for Access in Jelastic PaaS-02

  • En la configuración, ingrese su nombre de dominio personalizado y luego haga clic en Instalar. En nuestro caso, el nombre de dominio es el siguiente:

7-Public IP for Access to Kubernetes Application in Jelastic PaaS-

Finalmente, ahora hemos creado nuestra aplicación a la que podemos acceder utilizando el dominio personalizado https://cargo-tracker.cloudsigma.website. También hemos cifrado el tráfico de nuestra aplicación con un certificado SSL de Let’s Encrypt válido y de confianza.

Obtención de acceso a la aplicación utilizando la dirección IP pública del nodo Worker de Kubernetes

A continuación, veremos el enfoque alternativo que puede tomar para que la aplicación esté disponible fuera del clúster de Kubernetes. Básicamente, aprenderemos cómo asociar una dirección IP pública a un nodo worker en el clúster de Kubernetes para que la aplicación sea accesible directamente:

8-Public IP for Access to Kubernetes Application in Jelastic PaaS

Continuemos con el mismo ejemplo que le mostramos anteriormente. Utilizaremos el mismo clúster en el que implementamos nuestra aplicación Cargo Tracker. Así es como debe proceder:

1. Haga clic en Cambiar la topología del entorno. Agregue la dirección IP pública al nodo worker:

9.1-Public IP for Access in Jelastic PaaS

2. A continuación, cree un registro A para su dominio personalizado y mapéelo a la IP que acaba de agregar. Asegúrese de utilizar un nombre de dominio que sea diferente al utilizado en el capítulo anterior. Por ejemplo, utilizaremos el siguiente nombre de dominio: cargo-tracker-worker.cloudsigma.website:

9.2-Public IP for Access to Kubernetes Application in Jelastic PaaS

3. Pase el cursor sobre el nodo Control Plane o Master y haga clic en Complementos. Busque e instale Certificate Manager. Esto debería instalar un controlador cert-manager junto con un controlador de ingreso NGINX con el tipo de servicio LoadBalancer. Este último contiene la dirección IP que está asociada con su nodo worker. Servirá los recursos de la clase de ingreso “nginx-cert”:

10-Public IP for Access to Kubernetes Application in Jelastic PaaS-01

4. En el campo provisto, ingrese su nombre de dominio preferido y haga clic en Aplicar:

11-Public IP for Access to Kubernetes Application in Jelastic PaaS

5. En el momento de la instalación, el complemento también instala una aplicación de prueba llamada helloworld-cert. Simplemente puede eliminar los recursos que utiliza con estos comandos:

Estos comandos deben ingresarse y ejecutarse utilizando SSH (SFTP) o la Web SSH Gate del Control Plane o del Nodo Maestro. Pase el cursor sobre el nodo y haga clic en la Web SSH opción al lado para acceder a la puerta de enlace.

La otra opción es pasar el cursor sobre el Control Plane o Nodo Maestro y hacer clic en Config. Desde aquí, vaya a SFTP/SSH Gate y siga las instrucciones dadas.

6. Para finalizar el tráfico SSL de la aplicación y gestionar el enrutamiento al servicio cargo-tracker, necesitamos crear un recurso ingress llamado cargo-tracker-worker. Digamos que estamos usando cargo-tracker-worker-ingress.yaml. Puede usar un editor como vi para crear un archivo y luego pegar el siguiente código:

Después de eso,  proceda de la siguiente manera:

7. Cuando cree este ingress, Certificate Manager emitirá automáticamente un certificado SSL de Let’s Encrypt para su nuevo nombre de dominio. Dé al sistema un minuto o dos antes de verificar si su aplicación está disponible en el nuevo nombre de dominio personalizado, que es https://cargo-tracker-worker.cloudsigma.website en nuestro caso.

¡Y listo! Al seguir estos pasos, ha expuesto su aplicación utilizando dos enfoques diferentes. Como resultado, verá dos ingresses. Para nosotros, son:

  • cargo-tracker

Este ingress sirve el tráfico de la aplicación que llega a través de la IP pública de su balanceador de carga dedicado.

  • cargo-tracker-worker

Este ingress está configurado para servir el tráfico de la aplicación que fluye directamente desde la IP que está asociada al nodo worker de K8s.

Así es como aparecerán:

12-Public IP for Access in Jelastic PaaS

Según el tipo de implementación que elija, solo necesitará un ingress en producción. CloudSigma PaaS ofrece a sus usuarios acceso a una serie de herramientas para realizar balanceo de carga según lo requieran sus aplicaciones. No dude en leer y aprender más sobre el balanceo de carga en la plataforma. También disponemos de guías detalladas sobre los aspectos básicos del balanceo de carga con herramientas como NGINX y HAProxy entre otras herramientas disponibles.

Puede probar el PaaS de CloudSigma con nuestra prueba gratuita de 7 días o ponerse en contacto con nosotros si desea que le proporcionemos más detalles y una demostración de la plataforma. 

Pruebe gratis durante 7 días

author

Zhenya Mocheva

Autor · CloudSigma

Preslav Dobrev es diseñador creativo en CloudSigma, centrado en una identidad empresarial coherente mediante el uso de canales de marketing tradicionales e innovadores. Es experto en fusionar la visión artística con el marketing estratégico para crear narrativas de marca impactantes.

Comentarios

Aún no hay comentarios. Sea el primero.