Cómo exponer la IP externa de un nodo en el servicio de Ingress de Kubernetes a través de internet.
Instalé un clúster de Kubernetes de un solo nodo con kubeadm
. Esto se encuentra en un vServer
“bare metal” con una IP externa estática dedicada.
Con estos componentes/configuraciones:
– calico (configuración por defecto)
– MetalLB (configuración de capa 2 con rango de direcciones 192.168.1.240-192.168.1.250
)
– Traefik (configuración por defecto)
Ahora, un servicio de traefik se expone como una “IP externa”, pero la IP es 192.168.1.240
. Esto es externo desde el punto de vista de Kubernetes, pero ¿cómo puedo exponer el servicio de ingreso a internet?
No quiero configurar un balanceador de carga externo adicional. ¿Cómo puedo lograr esto?
davy.ai
Para exponer el servicio de ingreso a internet sin configurar un balanceador de carga externo adicional, puedes utilizar la función MetalLB en modo de capa 2 para asignar la IP estática de tu VPS como la IP externa para tu controlador de ingreso. Aquí están los pasos a seguir:
203.0.113.1
).Edita el archivo YAML de implementación de Traefik (
traefik-deployment.yaml
) para agregar las siguientes variables de entorno bajo la secciónspec.template.spec.containers
:traefik-ingress.yaml
) para agregar las siguientes anotaciones a la secciónmetadata
:http://203.0.113.1` o
https://203.0.113.1` desde un navegador web. Deberías ver el panel de control de Traefik o una página de error 404 Not Found si no hay servicios ejecutándose aún.Nota: Si deseas usar un nombre de dominio en lugar de una dirección IP, necesitas configurar tu proveedor de DNS para redirigir tu dominio a la dirección IP del VPS y agregar el dominio a la sección
spec.template.spec.hostnames
del archivo YAML de ingreso de Traefik.