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

时间:2021-04-22 08:00:57

标签: kubernetes kubernetes-networkpolicy

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

1 个答案:

答案 0 :(得分:1)

试试这个

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: {}

请注意有关此清单的一些事项:

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