云容器引擎 CCE-NetworkPolicy:使用Ingress规则

时间:2024-11-04 16:22:46

使用Ingress规则

  • 使用podSelector设置访问范围
    apiVersion: networking.k8s.io/v1
    kind: NetworkPolicy
    metadata:
      name: test-network-policy
      namespace: default
    spec:
      podSelector:                  # 规则对具有role=db标签的Pod生效
        matchLabels:
          role: db
      ingress:                      # 表示入规则
      - from:
        - podSelector:              # 只允许具有role=frontend标签的Pod访问
            matchLabels:
              role: frontend
        ports:                      # 只能使用TCP协议访问6379端口
        - protocol: TCP
          port: 6379

    示意图如下所示。

    图1 podSelector
  • 使用namespaceSelector设置访问范围
    apiVersion: networking.k8s.io/v1
    kind: NetworkPolicy
    metadata:
      name: test-network-policy
    spec:
      podSelector:                  # 规则对具有role=db标签的Pod生效
        matchLabels:
          role: db
      ingress:                      # 表示入规则
      - from:
        - namespaceSelector:        # 只允许具有project=myproject标签的命名空间中的Pod访问
            matchLabels:
              project: myproject
        ports:                      # 只能使用TCP协议访问6379端口
        - protocol: TCP
          port: 6379

    示意图如下所示。

    图2 namespaceSelector
support.huaweicloud.com/basics-cce/kubernetes_0027.html