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

315 天前
 annoygaga

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

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

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

2674 次点击
所在节点    Kubernetes
39 条回复
annoygaga
315 天前
@defunct9 主要是希望隔离性和 vpc 一样,主要是安全层面的需求
annoygaga
315 天前
@sampeng 一个集群,希望里面不同的 service 下(或者 namespace 下吧)的网络不互通,类似 vpc ,主要是安全的需求
annoygaga
315 天前
@CCIEliu 其实是 k8s 内部使用者,搞出两个网络,这么个需求,主要 for 安全
07212423
315 天前
印象中 k8s 的网络从设计上就是一个平面。你的需求更像是安全需求,而不是 vpc 需求。 应该看看网络策略
annoygaga
315 天前
@07212423 是的,本质上安全需求,类似 vpc 的安全需求
defunct9
314 天前
简单复杂化,每个 worker 节点其实就是一个 vpc 的子网。隔离隔离,cks 的考题就有一个,用 networkpolicy 就完事了,但是,带来的好处远小于带来的麻烦,运维人少的情况下。
sampeng
314 天前
反正我认为运维在人数少于 5 的情况下。折腾这个事情 ROI 约等于 0.你既然是云,那进来的入口只有负载均衡器,除非你把整个集群的 node 全部暴露在公网。在这个前提下,要什么情况下才会有最恶劣的情况呢?
你的前端有安全漏洞,穿透到业务处理的 pod ,再从这些 pod 提权到 node 。再从 node 去干别的事。

他就算进到 pod ,请问他不知道服务端口,业务逻辑情况下,他如何做到知道其他 service 的?所以从这个层面而言,除非你上零信任,做所谓 vpc 和 namespace 隔离都是脱裤子放屁。

再说到 vpc ,vpc 你划分得越多,你管理成本就越大,最后还是要打通大部分的 vpc 做组网,不然自动化运维就是个笑话。我之前就是一个业务一个 vpc 。想着这很安全吧。但我就 2 个运维。10 多个 vpc ,管理成本大得吓人。自动化各种不痛快。要痛快就要有非常复杂的调度。
annoygaga
314 天前
@defunct9 你这里说的 worker 节点是 node 还是 pod ?
annoygaga
314 天前
@sampeng 是这样的,但业务那边安全需求很明确,主要也是一个 k8s 集群各个业务混用导致的问题
defunct9
314 天前
node
annoygaga
314 天前
@defunct9 希望是 namespace 维度做这些安全性的东西
sampeng
314 天前
@annoygaga 那就业务自己做 tls 认证呗。或者谁提出来的谁单独拉个集群完事。。不可能都提出来吧,如果是,那就拆集群。反正成本不是你掏。问就是只有 networkpolicy 可以做到。没资源做不了复杂的
sampeng
314 天前
业务提出这种事都是不懂装懂的。。。肯定会被我怼回去
annoygaga
314 天前
@sampeng 这和 tls 不一样,业务是电商的,就是需要不同网络和开发环境进行链路,从头拒绝相互调用,不然会出更多问题,这确实会增加复杂度,但是业务册之前出了很多乱七八糟的事情了
sampeng
314 天前
@annoygaga 开发环境肯定是要和生产环境不同集群的。然后在最外部链路层隔离。生产环境是独立的环境。天塌下来也不会有什么坑
annoygaga
314 天前
@sampeng 有些必要的东西得在一个集群。。。目前在调研一个集群的可能性,最大的问题就是网络希望可以控制
hexiaodai
314 天前
kubeovn 支持 VPC 和 ACL
annoygaga
314 天前
@hexiaodai 赞,我看看,这个好维护吗?
hexiaodai
314 天前
@annoygaga 这个项目在 github 上比较活跃。好维护,配置规则都是 k8s CRD 动态配置。

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

https://ex.noerr.eu.org/t/1083232

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

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

© 2021 V2EX