存量业务(在虚机中)访问K8S 集群内业务(在容器中)不通,有哪些解决方案?

存量业务(在虚机中)访问K8S 集群内业务(在容器中)不通,(两者业务都使用微服务架构,都已注册到注册中心),除了做虚机和POD的路由、nodeport、hostnetwork等还有哪些解决方案?场景描述如下:K8S集群内部POD访问外部虚机是通的。比如使用springcloud框架,容器化后的服务注册的是172网段的...显示全部

存量业务(在虚机中)访问K8S 集群内业务(在容器中)不通,(两者业务都使用微服务架构,都已注册到注册中心),除了做虚机和POD的路由、nodeport、hostnetwork等还有哪些解决方案?

场景描述如下:
K8S集群内部POD访问外部虚机是通的。比如使用springcloud框架,容器化后的服务注册的是172网段的IP,外部系统是虚机IP10.0.xx,外部系统服务怎么调用容器服务。外部系统也是注册微服务的,注册后的是10.0.xx的网络地址,10.0.xx要调用172.xx网段服务,这个方式不走ingress。

收起
参与11

查看其它 1 个回答mtming333的回答

mtming333mtming333课题专家组系统架构师某电子支付

1、macvlan CNI,原生用法比较弱,需要做集中化ipam改造
2、deployment加环境变量参数,微服务的注册中心可以支持应用自上报的IP PORT

互联网服务 · 2020-12-09
浏览1856
  • 首先感谢回答问题。1、macvlan最大的问题:受技术原理限制(主要是underlay 2层流量不经过宿主机的3层及以上的协议栈,报文没有用iptables,ipvs处理,所以K8s里的Service、QoS、networkpolicy没法实现) 2、deployment加环境变量参数,对于少量业务可使用此法写个yaml即可,但是对于大量的业务来说,此法需要定制化较多
    2020-12-09
  • 你的存量微服务肯定有自己的存量注册中心,用不上你说的这些:iptables,ipvs处理,K8s里的Service、QoS、networkpolicy
    2020-12-10
  • 只允许有一套注册中心供存量服务和容器化后服务使用,微服务平台是做微服务化+服务治理用,重点是业务管理,但你服务实际运行的载体pod肯定是K8S来管理,重点是基础设施及架构,两者既有互通、分工也要明确
    2020-12-10

回答者

mtming333
系统架构师某电子支付
擅长领域: 云计算容器容器云

mtming333 最近回答过的问题

回答状态

  • 发布时间:2020-12-09
  • 关注会员:3 人
  • 回答浏览:1856
  • X社区推广