如题,需求是希望用 K8S 在内部平台做类似 VPC 那样的网络区分,保证不同链路下,网络的安全,这块大家目前走的什么方案呀?
PS:维护的人很少,希望方案比较完整,坑比较少
PS:k8s 集群可能有多个机房,希望方案附带了这方面的适配
1
defunct9 34 天前 1
rancher 吧
|
3
defunct9 34 天前
人少就用这玩意好了
|
4
zhoulq7 34 天前
使用 rancher 管理 k8s 集群,k8s 集群使用 Canal 网络插件, 启用项目网络隔离。
|
5
vus520 34 天前
1. 基本的网络策略,pod 之间的通信,命名空间隔离,可以用网络策略结合 CNI 插件(如 Calico 或 Cilium )来实现
2. 服务之间的通信可以使用使用 Istio 或 Linkerd 等服务网格来管理,可以有更细粒度的控制和安全性,比如流量管理、监控和安全策略 |
6
FabricPath 34 天前
网络层的权限管理能力太弱了,只能控制通和不通;
建议你直接用 ServiceMesh 去解决权限问题 |
9
annoygaga OP @FabricPath ServiceMesh 没什么经验,这个好维护吗?以及,能达到那个水平吗?
|
11
guokehujin 34 天前
推荐 kube-ovn cni
|
12
defunct9 34 天前
你没说明白你的需求和现状,你都有 ACK 了,还弄啥 rancher
|
13
GeekGao 34 天前
默认拒绝所有入站流量的网络策略,只允许特定流量的网络策略。然后使用 CNI 配置,限制特定节点 label 可以访问
|
16
defunct9 34 天前
业务需求用 namespace 隔开就可以了。vpc 已经是个大平板广场了,再做 vpc 不行了吧。
|
18
sampeng 34 天前
没明白你的需求是啥。。
每个 pod 不同的网络权限?那你需要 istio ?这个需要有人。坑很深,概念那是一套一套的。会了很爽。但是交接和招新人是个很大问题。istio 的网络控制层面会严格控制代理每个 pod 的进和出的流量。 你都有不同的集群了。不同集群天然就是网络隔离的啊。解决好每个集群所在网络安全不就好了么。 |
19
sampeng 34 天前
我就记得有这么个东西。。
https://kubernetes.io/docs/concepts/services-networking/network-policies/ 自己维护一个 list 就完事了。 |
20
CCIEliu 34 天前 1
cilium 或者 calico 都行,个人推荐 cilium ,可观察性好一点。如果想容易维护那就 calico 。
其实还是直接做 networkpolicy 好一点,已经在同一个集群了,没必要非要搞个 vpc 类似概念出来。 就继续按照 k8s 的思路,用 networkpolicy 管理网络就好了。 ps:如果真的想 vpc ,那就直接在基础设施上新建新的 k8s 集群,彻底隔离。。。故障域也隔离开了。 |
24
07212423 34 天前
印象中 k8s 的网络从设计上就是一个平面。你的需求更像是安全需求,而不是 vpc 需求。 应该看看网络策略
|
26
defunct9 34 天前
简单复杂化,每个 worker 节点其实就是一个 vpc 的子网。隔离隔离,cks 的考题就有一个,用 networkpolicy 就完事了,但是,带来的好处远小于带来的麻烦,运维人少的情况下。
|
27
sampeng 34 天前
反正我认为运维在人数少于 5 的情况下。折腾这个事情 ROI 约等于 0.你既然是云,那进来的入口只有负载均衡器,除非你把整个集群的 node 全部暴露在公网。在这个前提下,要什么情况下才会有最恶劣的情况呢?
你的前端有安全漏洞,穿透到业务处理的 pod ,再从这些 pod 提权到 node 。再从 node 去干别的事。 他就算进到 pod ,请问他不知道服务端口,业务逻辑情况下,他如何做到知道其他 service 的?所以从这个层面而言,除非你上零信任,做所谓 vpc 和 namespace 隔离都是脱裤子放屁。 再说到 vpc ,vpc 你划分得越多,你管理成本就越大,最后还是要打通大部分的 vpc 做组网,不然自动化运维就是个笑话。我之前就是一个业务一个 vpc 。想着这很安全吧。但我就 2 个运维。10 多个 vpc ,管理成本大得吓人。自动化各种不痛快。要痛快就要有非常复杂的调度。 |
30
defunct9 34 天前
node
|
32
sampeng 33 天前
@annoygaga 那就业务自己做 tls 认证呗。或者谁提出来的谁单独拉个集群完事。。不可能都提出来吧,如果是,那就拆集群。反正成本不是你掏。问就是只有 networkpolicy 可以做到。没资源做不了复杂的
|
33
sampeng 33 天前
业务提出这种事都是不懂装懂的。。。肯定会被我怼回去
|
34
annoygaga OP @sampeng 这和 tls 不一样,业务是电商的,就是需要不同网络和开发环境进行链路,从头拒绝相互调用,不然会出更多问题,这确实会增加复杂度,但是业务册之前出了很多乱七八糟的事情了
|
37
hexiaodai 33 天前 via iPhone
kubeovn 支持 VPC 和 ACL
|