Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

2.7K
Views
Cómo exponer el clúster de Minikube a Internet

Sé que minikube debe usarse solo para uso local, pero me gustaría crear un entorno de prueba para mis aplicaciones.
Para hacer eso, deseo exponer mis aplicaciones que se ejecutan dentro del clúster de minikube al acceso externo (desde cualquier dispositivo en Internet público, como un teléfono inteligente 4G).

nota: ejecuto minikube con --driver=docker

servicios de obtención de kubectl

 NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE web8080 NodePort 10.99.39.162 <none> 8080:31613/TCP 3d1h

minikube ip

 192.168.49.2

Una forma de hacerlo es la siguiente:

 firewall-cmd --add-port=8081/tcp kubectl port-forward --address 0.0.0.0 services/web8080 8081:8080

entonces puedo acceder usando:

 curl localhost:8081 (directly from the machine running the cluster inside a VM) curl 192.168.x.xx:8081 (from my Mac in same network - this is the private ip of the machine running the cluster inside a VM) curl 84.xxx.xxx.xxx:8081 (from a phone connected in 4G - this is the public ip exposed by my router)

No quiero usar esta solución porque kubectl port-forward es débil y debe ejecutarse cada vez que el reenvío de puertos ya no está activo.

Cómo puedo conseguir esto ?

(EDITADO) - USANDO LOADBALANCER

cuando uso el tipo LoadBalancer y minikube tunnel , puedo exponer el servicio solo dentro de la máquina que ejecuta el clúster.

servicios de obtención de kubectl

 NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE my-service LoadBalancer 10.111.61.218 10.111.61.218 8080:31831/TCP 3d3h

curl 10.111.61.218:8080 (dentro de la máquina que ejecuta el clúster) está funcionando
pero curl 192.168.x.xx:8080 (desde mi Mac en la misma LAN) no funciona

Gracias

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Minikube como herramienta de desarrollo para un clúster de Kubernetes de un solo nodo proporciona una capa de aislamiento inherente entre Kubernetes y los dispositivos externos (siendo específico el tráfico entrante a su clúster desde LAN / WAN ).

Distintos controladores permiten flexibilidad cuando se trata del lugar donde se generará su clúster de Kubernetes y cómo se comportará en cuanto a la red.

¡Una nota al margen (solución alternativa)!

Como su minikube ya reside en una VM y usa --driver=docker , podría intentar usar --driver=none (podrá curl VM_IP:NodePort desde la LAN ). Generará su clúster de Kubernetes directamente en la VM .

Considere verificar su documentación ya que existen ciertas limitaciones/desventajas:

  • Minikube.sigs.k8s.io: Documentos: Controladores: Ninguno

Como esta configuración ya se basa en la VM (con un hipervisor desconocido) y el clúster está destinado a estar expuesto fuera de su LAN , le sugiero que opte por la configuración lista para producción. Esto eliminará inherentemente los problemas de conectividad que enfrenta. El clúster de Kubernetes se aprovisionará directamente en una VM y no en el contenedor de Docker .

Explicación del uso de --driver=docker : generará un contenedor en un sistema host con Kubernetes dentro. Dentro de este contenedor, Docker se usará una vez más para generar los pods necesarios para ejecutar el clúster de Pods .

En cuanto a las herramientas para aprovisionar su clúster de Kubernetes, deberá elegir la opción que más se adapte a sus necesidades. Algunos de ellos son los siguientes:

  • Kubeadm
  • Kubespray
  • MicroK8S

Después de crear su clúster de Kubernetes en una VM , podría reenviar el tráfico desde su enrutador directamente a su VM .


Recursos adicionales que pueden resultarle útiles:

  • Stackoverflow.com: Preguntas Exponer el clúster de Kubernetes a Internet (Virtualbox con minikube)
over 4 years ago · Santiago Trujillo Report

0

curl $(minikube ip):$NODE_PORT : ahora podemos probar que la aplicación está expuesta fuera del clúster usando curl, la IP del nodo y el puerto expuesto externamente.

Para ti: curl 192.168.49.2:31613

over 4 years ago · Santiago Trujillo Report

0

Utilice el proxy inverso nginx https://www.zepworks.com/posts/access-minikube-remotely-kvm/

instale nginx, luego en nginx.conf agregue esto

 stream { server { listen 8081; proxy_pass 192.168.49.2:8080; } }

reiniciar nginx

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!