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.

- 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:
- 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.
- . 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:

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. 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:

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:

- 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:

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:
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:

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:

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”:

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

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:
|
1 2 3 4 5 |
$ kubectl delete deploy hello-cert-manager $ kubectl delete svc hello-cert-manager $ kubectl delete ing helloworld-cert |
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:
|
1 |
vi cargo-tracker-worker-ingress.yaml |
Después de eso, proceda de la siguiente manera:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: cargo-tracker-worker namespace: default annotations: kubernetes.io/ingress.class: nginx-cert cert-manager.io/cluster-issuer: "letsencrypt-prod" kubernetes.io/tls-acme: "true" nginx.ingress.kubernetes.io/affinity: "cookie" nginx.ingress.kubernetes.io/affinity-mode: "persistent" nginx.ingress.kubernetes.io/session-cookie-expires: "172800" nginx.ingress.kubernetes.io/session-cookie-max-age: "172800" spec: tls: - hosts: - cargo-tracker-worker.cloudsigma.website secretName: external-domain-tls rules: - host: cargo-tracker-worker.cloudsigma.website http: paths: - path: / pathType: ImplementationSpecific backend: service: name: cargo-tracker port: number: 80 |
|
1 |
$ kubectl apply -f cargo-tracker-worker-ingress.yaml |
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:

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.

Comentarios
Aún no hay comentarios. Sea el primero.