【问题标题】:Is kubectl port-forward encrypted?kubectl 端口转发是否加密?
【发布时间】:2018-11-11 16:36:49
【问题描述】:

在运行“kubectl port-forward”命令时,我找不到任何关于集群的 pod 和 locahost 之间的连接创建在何处被加密的任何信息。

它似乎使用了支持加密的“socat”库,但我不确定 kubernetes 是否真的使用它。

【问题讨论】:

    标签: kubernetes kubernetes-security


    【解决方案1】:

    据我所知,当您将选择的端口端口转发到您的机器时,kubectl 连接到集群的其中一个主节点,所以是的,通常通信是加密的。您的 master 如何与 pod 通信取决于您如何设置内部通信。

    【讨论】:

    • 我还使用 Wireshark 进行了网络嗅探,但似乎流量通过 443 端口 + 包不包含我试图通过代理流量发送的纯文本
    【解决方案2】:

    kubectl port-forward 使用 socat 创建具有端口转发功能的加密 TLS 隧道。 隧道从您到 kube api-server 再到 pod,因此它实际上可能是 2 个隧道,kube api-server 充当伪路由器。

    我发现它有用的一个例子是,我正在对托管在 Azure Kubernetes 服务上的 Jenkins 管道进行快速 PoC,在我的 Kubernetes 研究早期,我不知道如何设置 Ingress,但我可以通过未加密的端口 80 到达服务器,但我知道我的流量可能会被窥探。所以我只是做了 kubectl port-forward 来临时登录并安全地调试我的 POC。对于托管在 Kubernetes 上的 RabbitMQ 集群也非常有用,您可以使用 kubectl port-forward 进入管理网页,并确保它按照您想要的方式进行集群。

    【讨论】:

      猜你喜欢
      • 2021-04-08
      • 1970-01-01
      • 1970-01-01
      • 2021-05-02
      • 2018-12-30
      • 1970-01-01
      • 1970-01-01
      • 2022-11-22
      • 2020-07-30
      相关资源
      最近更新 更多