问题描述:
我的最终目的是,在通过K8S 部署pod后,不需要去创建svc 和ep,pod所在主机会检测pod中运行的端口(80),然后暴露一个随机端口出去,通过host:随机端口的形式能够直接访问到pod服务,我知道使用iptables 能直接做路由过去,但并不好管理,我碰到过一种集群环境,通过了一个ds的组件挂载docker数据目录,具体内部怎么实现不清楚,我想做类似的功能,最终实现的效果是通过主机+随机端口访问服务成功,并且通过ps -ef | grep docker-proxy能够查看到暴露的随机端口的路由。
我目前的想法是,通过检测发现新部署的pod下面的容器,然后通过更新docker的某些配置,来实现容器暴露随机端口,但是我在网上搜索的方法都是让去改/var/lib/docker/containers/xxx/config.v2.json的文件的,改完重启docker服务这点是不可行的,重启docker服务会导致我的业务直接挂掉,commit也是不行的,我不可能每天给那几万个容器挨个修改重建,我现在想咨询的是有没有什么靠谱的方法去修改运行中的容器端口映射,或者能实现上一段所说的类似的解决方法