如题,需求是希望用 K8S 在内部平台做类似 VPC 那样的网络区分,保证不同链路下,网络的安全,这块大家目前走的什么方案呀?
PS:维护的人很少,希望方案比较完整,坑比较少
PS:k8s 集群可能有多个机房,希望方案附带了这方面的适配

rancher 吧

rancher 有 VPC ? rancher 不是个平台发行版么?

人少就用这玩意好了

使用 rancher 管理 k8s 集群,k8s 集群使用 Canal 网络插件, 启用项目网络隔离。

  1. 基本的网络策略,pod 之间的通信,命名空间隔离,可以用网络策略结合 CNI 插件(如 Calico 或 Cilium )来实现2. 服务之间的通信可以使用使用 Istio 或 Linkerd 等服务网格来管理,可以有更细粒度的控制和安全性,比如流量管理、监控和安全策略

网络层的权限管理能力太弱了,只能控制通和不通;建议你直接用 ServiceMesh 去解决权限问题

目前用的云厂商的托管 k8s ,没上 rancher 的话

好弄吗?

ServiceMesh 没什么经验,这个好维护吗?以及,能达到那个水平吗?

如果没有 rancher 可以搞吗?

推荐 kube-ovn cni

你没说明白你的需求和现状,你都有 ACK 了,还弄啥 rancher

默认拒绝所有入站流量的网络策略,只允许特定流量的网络策略。然后使用 CNI 配置,限制特定节点 label 可以访问

我用的托管,但是希望在 k8s 内部再做 vpc ,目前是一个 vpc 内,有业务需求需要多个网络之间隔离

有平台级别的解决方案么,就这个逻辑的

业务需求用 namespace 隔开就可以了。vpc 已经是个大平板广场了,再做 vpc 不行了吧。

CNI 用 calico 就行了啊,这个逻辑多简单。不用额外的平台。

没明白你的需求是啥。。每个 pod 不同的网络权限?那你需要 istio ?这个需要有人。坑很深,概念那是一套一套的。会了很爽。但是交接和招新人是个很大问题。istio 的网络控制层面会严格控制代理每个 pod 的进和出的流量。你都有不同的集群了。不同集群天然就是网络隔离的啊。解决好每个集群所在网络安全不就好了么。

我就记得有这么个东西。。 kubernetes.io/docs/concepts/services-networking/network-policies/自己维护一个 list 就完事了。

cilium 或者 calico 都行,个人推荐 cilium ,可观察性好一点。如果想容易维护那就 calico 。其实还是直接做 networkpolicy 好一点,已经在同一个集群了,没必要非要搞个 vpc 类似概念出来。就继续按照 k8s 的思路,用 networkpolicy 管理网络就好了。ps:如果真的想 vpc ,那就直接在基础设施上新建新的 k8s 集群,彻底隔离。。。故障域也隔离开了。