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