Kubelet 处理来自客户端的端口转发请求。在收到请求后,它会升级响应并等待客户端创建端口转发流。当它收到新流时,它会在流和 pod 端口之间复制数据。
从架构上看,有不同的选项可用于转发到 pod 端口。OpenShift Container Platform 中支持的实现当前直接调用节点主机上的 nsenter
来进入 pod 的网络命名空间,然后调用 socat
在流和 pod 端口之间复制数据。但是,自定义实现可能会包括运行一个 "helper" pod,然后运行 nsenter
和 socat
,因此不需要在主机上安装这些二进制文件。