使用网络策略将名称空间中的pod与其他名称空间隔离



是否有一种方法可以将一个命名空间与访问另一个命名空间隔离开来,但仍然可以走出集群我有10个名称空间,我希望这1个名称空间中的pod不能与其他名称空间通信,但仍然可以在集群之外访问外部资源虽然这只适用于1个名称空间,但其他9个名称空间可以相互通信

试试这个

kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
namespace: default //your 1 namespaces on which you want to deny all traffic.
name: deny-from-other-namespaces
spec:
podSelector:
matchLabels:
ingress:
- from:
- podSelector: {}

请注意此清单的一些内容:

  • 名称空间:default将其部署到默认名称空间。请根据您的需要进行更改
  • 它将策略应用于默认命名空间中的所有pod,因为
    spec.podSelector.matchLabels为空,因此会选择所有pod
  • 它允许来自默认命名空间中所有pod的流量,因为
    spec.ingress.from.podSelector为空,因此选择所有豆荚。这里有一个很棒的网络策略github回购,我从中举了这个例子

最新更新