¿Cómo puedo reenviar el tráfico desde un pod de Kubernetes remoto a un servidor que se ejecuta en mi máquina local? La intención es probar un servidor remoto haciendo llamadas a un servicio que se ejecuta en mi máquina local. He usado kubectl port-forward para reenviar el tráfico de mi servicio local al servicio remoto, pero necesito hacer esto al revés.
Esta solución es para minikube, que se usa para ejecutar Kubernetes localmente, por lo que probablemente no se aplique a mí.
Probablemente haya una forma de "más K8", pero aquí hay una idea en caso de que no encuentre nada mejor: use ssh.
Específicamente, configure y exponga SSH en el pod para que sea accesible desde su máquina local. Luego, simplemente use ssh en su máquina para crear un túnel ssh remoto .
Por ejemplo, ssh -R 8080:localhost:80 <exposed-pod-ssh> reenviará el localhost:8080 del pod al puerto 80 de su máquina local.
Esta es una tarea muy molesta.
Sin nada especial en las manos, necesita redirigir un puerto desde su módem a su máquina. La mayoría de las personas tienen IP públicas no fijas, por lo que debe encontrar su dirección IP pública (no puede buscar "cuál es mi IP") y esperar que no cambie entre sus pruebas. Con su dirección IP pública, puede intentar acceder directamente desde el pod, por ejemplo:
kubectl exec -ti alpine-pod -- curl 150.136.143.228:8080Algunos clústeres no permiten que el pod salga por su cuenta, por lo que es mejor crear un servicio sin selectores y luego agregar un punto final que apunte a su IP:
apiVersion: v1 kind: Service metadata: name: to-my-home spec: ports: - protocol: TCP port: 80 targetPort: 8080Luego, agregue el punto final :
apiVersion: v1 kind: Endpoints metadata: name: to-my-home subsets: - addresses: - ip: 150.136.143.228 ports: - port: 8080Ahora, si está dentro del mismo espacio de nombres que el servicio, puede hacer esto:
kubectl exec -ti alpine-pod -- curl to-my-homeUna solución mejor y más fácil es usar vagrant share , https://www.vagrantup.com/docs/share , pero necesita algunos pasos:
Ejemplo:
vagrant init debian/buster64 vagrant login vagrant up vagrant share