【发布时间】:2018-11-11 16:36:49
【问题描述】:
在运行“kubectl port-forward”命令时,我找不到任何关于集群的 pod 和 locahost 之间的连接创建在何处被加密的任何信息。
它似乎使用了支持加密的“socat”库,但我不确定 kubernetes 是否真的使用它。
【问题讨论】:
标签: kubernetes kubernetes-security
在运行“kubectl port-forward”命令时,我找不到任何关于集群的 pod 和 locahost 之间的连接创建在何处被加密的任何信息。
它似乎使用了支持加密的“socat”库,但我不确定 kubernetes 是否真的使用它。
【问题讨论】:
标签: kubernetes kubernetes-security
据我所知,当您将选择的端口端口转发到您的机器时,kubectl 连接到集群的其中一个主节点,所以是的,通常通信是加密的。您的 master 如何与 pod 通信取决于您如何设置内部通信。
【讨论】:
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 进入管理网页,并确保它按照您想要的方式进行集群。
【讨论】: