k8s NetworkPolicy

发布时间 2023-06-16 17:04:00作者: 个人记录

https://kubernetes.io/zh-cn/docs/concepts/services-networking/network-policies/#the-two-sorts-of-pod-isolation

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: test-network-policy
  namespace: default
spec:
  podSelector:
    matchLabels:
      role: db           //这个策略是写给谁的,是针对label是db的pod做的访问限制
  policyTypes:           //如果该项不配置,会默认配置Ingress。
    - Ingress           
    - Egress
  ingress:              // 入口流量
    - from:              //配置哪些可以访问(放通)
        - ipBlock:
            cidr: 172.17.0.0/16       //该网段允许放行
            except:                   // 上面的地址,排除掉下面这个地址区间
              - 172.17.1.0/24
        - namespaceSelector:          //  符合这个条件的也可以放行。  注意前面的  -  ,都是from 下面具体的条件,满足其一即可。 
            matchLabels:
              project: myproject
        - podSelector:              //  符合这个条件的也可以放行。注意前面的 - ,都是from下面的具体条件, 满足其一即可。
            matchLabels:
              role: frontend
      ports:                       //   配置了ports,代表只能访问 上面  db 这个pod的 6379 端口,不配ports则表示没有限制
- protocol: TCP port: 6379 egress: // 只能访问下面这些服务,限制出口 - to: - ipBlock: cidr: 10.0.0.0/24 ports: // 只能访问这个端口
- protocol: TCP port: 5978