rancher集群怎么样与第三方对接?

公司正在将业务系统接入rancher集群,老的应用系统会同第三方通过VPN对接,访问过程中通过添加ip白名单的方式控制访问。
现在将业务系统容器化之后,发现原有的对接方案不适合了?因为,通过vpn对接需要将pods的整个网段作为感兴趣流,这样存在安全隐患。
请问有没有一种较好的对接方案?

1回答

尹学峰尹学峰  售前技术支持 , Rancher企业级Kubernetes管理平台
xgene万绍远张应罗等赞同了此回答
您好,首先明确一下,您所说的 访问过程中通过添加ip白名单的方式控制访问,是指在VPN的白名单规则中添加业务系统的IP地址( 从 业务系统 → 第三方 访问过程中的源IP)么? 如果是的话,那您参考一下以下解决方案: overlay网络方案(如采用canal/flannal的vxlan backend,Rancher默认) ...显示全部

您好,首先明确一下,您所说的 访问过程中通过添加ip白名单的方式控制访问,是指在VPN的白名单规则中添加业务系统的IP地址( 从 业务系统 → 第三方 访问过程中的源IP)么?

如果是的话,那您参考一下以下解决方案:

overlay网络方案(如采用canal/flannal的vxlan backend,Rancher默认)

  • 实际上您的业务系统容器化之后,基于overlay网络方案的话。通过容器内经由VPN访问第三方应用。您的VPN Server所感知到的客户端信息(源IP)应该是容器通过主机Node SNAT出去之后的主机node IP信息,而并非您担心的pods的比如10.42.x.x/16的网段。
  • 所以为了控制特定的应用可以使用VPN访问第三方服务的话,可以再白名单中添加特定的k8s集群的node节点的IP地址,然后将需要访问第三方服务的业务系统容器应用加上调度规则,调度到这些添加了白名单的Node节点上,这样就可以通过VPN访问第三方应用了。
  • 但这样带来的潜在风险是:这些在白名单内的node节点上的所有的pods都可以访问第三方应用

macvlan网络方案

  • 可以考虑使用macvlan扁平网络方案,可以使用自定义的vlan创建网卡给pod使用。pod的IP地址可以与IaaS层的主机(不论物理机/虚机)处于同一个网段(当然也可以定义在不同网段),pod的IP地址也可以指定且保持不变。k8s集群外机器无需加入k8s的容器网络中,就可以直接访问pod IP(路由可达即可)。
  • 这样就可以在VPN的白名单中,直接设定pod的IP地址即可,从而与原有的访问控制逻辑保持一致,避免任何的安全隐患。
收起
 2019-09-04
浏览337
sergio1899 邀答
  • 谢谢大佬的解惑,我们已经使用overlay网络,所以我决定将有对接的应用固定部署在某些node上,并且这些节点仅仅运行这个应用。通过节点的i p做访问控制
    2019-09-04
  • 很高兴您已经找到了解决方案,且英雄所见略同(握手)。不过虽然基于overlay模式可以解决问题,但多少有些美中不足。您不妨可以尝试一下Rancher所支持的macvlan网络模式,可以很完美的解决您当前所面临的痛点。其实Rancher之所以支持macvlan模式也正是因为考虑到了您当前所面临的这类场景。
    2019-09-04
  • 另外,如果最终采纳overlay方式,期望node仅仅运行这个应用,需要做的事情是 (1) node节点打上taints与label (2) 应用打上相应的容忍与nodeselector 即可。顺便跟您直接说一下了,省得你再浪费时间研究这个实现逻辑
    2019-09-04

提问者

sergio1899系统运维工程师, 大道金服

问题状态

  • 发布时间:2019-09-04
  • 关注会员:2 人
  • 问题浏览:1896
  • 最近回答:2019-09-04
  • 关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
    © 2019  talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30