【问题标题】:kubectl port-forward to another endpointkubectl 端口转发到另一个端点
【发布时间】:2020-07-30 08:26:03
【问题描述】:

有没有与kubectl对应的命令到:

ssh -L8888:rds.aws.com:5432 example.com

kubectlport-forward,您也可以指定--address,但这需要一个IP 地址。

【问题讨论】:

  • "kubectl port-forward" 旨在将本地端口(可选仅从“--address”本地 IP 地址)转发到 k8s 集群中的 pod 端口。它不会将端口转发到任何目的地,只是在 k8s 集群内。

标签: kubernetes portforwarding tunnel


【解决方案1】:

older answer 有效。 不过,一种解决方法是使用类似的东西 https://hub.docker.com/r/marcnuri/port-forward

kubectl run --env REMOTE_HOST=your.service.com --env REMOTE_PORT=8080 --env LOCAL_PORT=8080 --port 8080 --image marcnuri/port-forward test-port-forward

在集群上运行它,然后转发到它。

kubectl port-forward test-port-forward 8080:8080

【讨论】:

  • 但是kubectl要跑到远程主机还是本地?
【解决方案2】:

简短的回答,不。

OpenSSH 中,使用-L 选项配置本地端口转发:

   ssh -L 80:intra.example.com:80 gw.example.com

本例打开到gw.example.com跳转服务器的连接,并将本地机器上80端口的任何连接转发到intra.example.com上的80端口。

默认情况下,任何人(即使在不同的机器上)都可以连接到 SSH 客户端机器上的指定端口。但是,这可以通过提供绑定地址来限制在同一主机上的程序:

   ssh -L 127.0.0.1:80:intra.example.com:80 gw.example.com

您可以阅读文档here

Kubernetes 中的port-forward 仅在集群内工作,您可以将到达指定端口的流量转发到DeploymentServicePod

kubectl port-forward TYPE/NAME [options] [LOCAL_PORT:]REMOTE_PORT [...[LOCAL_PORT_N:]REMOTE_PORT_N]

--address 标志用于指定要监听的内容 0.0.0.0 意味着所有 localhost 都是名称,您可以设置一个可以监听的 IP。 文档可用here,您也可以阅读Use Port Forwarding to Access Applications in a Cluster

【讨论】:

    【解决方案3】:

    如果您在 Internet 上的某处有 SSH 服务器,您可以使用的一种解决方法是从您的 Pod SSH 到您的服务器,反向进行端口转发:

    # Suppose a web console is being served at 
    # http://my-service-8f6717ab-e.default:8888/
    # inside your cluster:
    
    kubectl exec -it my-job-f523b248-7htj6 -- ssh -R8888:my-service-8f6717ab-e.default:8888 user@34.23.1.2
    

    然后您可以从外部连接到 Kubernetes 内部的服务。如果 SSH 服务器不是您本地的,您可以使用普通端口转发从本地机器 SSH 到它:

    me@my-macbook-pro:$ ssh -L8888:localhost:8888 user@34.23.1.2
    

    然后将浏览器指向 http://localhost:8888/

    【讨论】:

    • 我没有尝试,但是一个好主意
    猜你喜欢
    • 1970-01-01
    • 2022-11-22
    • 1970-01-01
    • 2019-08-31
    • 2021-05-02
    • 2018-11-11
    • 2018-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多