kubernetes: NetworkPolicy deny-all not denying



我正在使用weave aws kubernetes集群上部署应用程序

我还有一个额外的(除了default(命名空间:my-staging .

我想应用并测试库伦特建议的以下拒绝所有策略:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: staging-default-deny-all
  namespace: my-staging
spec:
  podSelector: {}
  policyTypes:
  - Ingress

然后,我在默认命名空间中启动一个用于测试目的的busybox

kubectl run busybox --rm -ti --image=busybox /bin/sh  --namespace=default

。并且我的ui服务(应该在端口 80 上侦听(my-staging命名空间是可以访问的!

/ # wget --spider ui.staging-els.svc.cluster.local
Connecting to ui.staging-els.svc.cluster.local (100.68.222.37:80)

为什么会这样?

附言如果这有任何意义,我将在应用程序已经部署时应用NetworkPolicy

更新:当删除我的集群并重新创建时,这一定是一个编织的原因,--networking calico一切都解决了,没有任何问题。

为了使您的命名空间具有默认拒绝策略,您需要对其进行注释:

kind: Namespace
apiVersion: v1
metadata:
  name: my-staging
  annotations:
    net.beta.kubernetes.io/network-policy: |
      {
        "ingress": {
          "isolation": "DefaultDeny"
        }
      }

然后,您只需要用于显式启用 Pod 之间连接的策略。

有关更多信息,请参阅文档:https://kubernetes.io/docs/tasks/administer-cluster/weave-network-policy/

相关内容

  • 没有找到相关文章

最新更新