K8S 里面怎么做类似 VPC 的网络结构比较好?

28 天前
 annoygaga

如题,需求是希望用 K8S 在内部平台做类似 VPC 那样的网络区分,保证不同链路下,网络的安全,这块大家目前走的什么方案呀?

PS:维护的人很少,希望方案比较完整,坑比较少

PS:k8s 集群可能有多个机房,希望方案附带了这方面的适配

1795 次点击
所在节点    Kubernetes
39 条回复
defunct9
28 天前
rancher 吧
annoygaga
28 天前
@defunct9 rancher 有 VPC ? rancher 不是个平台发行版么?
defunct9
28 天前
人少就用这玩意好了
zhoulq7
28 天前
使用 rancher 管理 k8s 集群,k8s 集群使用 Canal 网络插件, 启用项目网络隔离。
vus520
28 天前
1. 基本的网络策略,pod 之间的通信,命名空间隔离,可以用网络策略结合 CNI 插件(如 Calico 或 Cilium )来实现
2. 服务之间的通信可以使用使用 Istio 或 Linkerd 等服务网格来管理,可以有更细粒度的控制和安全性,比如流量管理、监控和安全策略
FabricPath
28 天前
网络层的权限管理能力太弱了,只能控制通和不通;
建议你直接用 ServiceMesh 去解决权限问题
annoygaga
28 天前
@defunct9 目前用的云厂商的托管 k8s ,没上 rancher 的话
annoygaga
28 天前
@vus520 好弄吗?
annoygaga
28 天前
@FabricPath ServiceMesh 没什么经验,这个好维护吗?以及,能达到那个水平吗?
annoygaga
28 天前
@zhoulq7 如果没有 rancher 可以搞吗?
guokehujin
28 天前
推荐 kube-ovn cni
defunct9
28 天前
你没说明白你的需求和现状,你都有 ACK 了,还弄啥 rancher
GeekGao
28 天前
默认拒绝所有入站流量的网络策略,只允许特定流量的网络策略。然后使用 CNI 配置,限制特定节点 label 可以访问
annoygaga
28 天前
@defunct9 我用的托管,但是希望在 k8s 内部再做 vpc ,目前是一个 vpc 内,有业务需求需要多个网络之间隔离
annoygaga
28 天前
@GeekGao 有平台级别的解决方案么,就这个逻辑的
defunct9
28 天前
业务需求用 namespace 隔开就可以了。vpc 已经是个大平板广场了,再做 vpc 不行了吧。
GeekGao
28 天前
@annoygaga CNI 用 calico 就行了啊,这个逻辑多简单。不用额外的平台。
sampeng
28 天前
没明白你的需求是啥。。

每个 pod 不同的网络权限?那你需要 istio ?这个需要有人。坑很深,概念那是一套一套的。会了很爽。但是交接和招新人是个很大问题。istio 的网络控制层面会严格控制代理每个 pod 的进和出的流量。

你都有不同的集群了。不同集群天然就是网络隔离的啊。解决好每个集群所在网络安全不就好了么。
sampeng
28 天前
我就记得有这么个东西。。
https://kubernetes.io/docs/concepts/services-networking/network-policies/

自己维护一个 list 就完事了。
CCIEliu
27 天前
cilium 或者 calico 都行,个人推荐 cilium ,可观察性好一点。如果想容易维护那就 calico 。

其实还是直接做 networkpolicy 好一点,已经在同一个集群了,没必要非要搞个 vpc 类似概念出来。
就继续按照 k8s 的思路,用 networkpolicy 管理网络就好了。

ps:如果真的想 vpc ,那就直接在基础设施上新建新的 k8s 集群,彻底隔离。。。故障域也隔离开了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1083232

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX