美文网首页
Kubernetes YAML 详解之网络配置(NetworkP

Kubernetes YAML 详解之网络配置(NetworkP

作者: 河码匠 | 来源:发表于2023-02-22 09:25 被阅读0次

一、NetworkPolicy YAML

kubectl explain NetworkPolicy.spec
字段 值类型 说明
egress []Object 出网规则
ingress []Object 入网规则
podSelector Object pod 选择器
policyTypes []string 要被限制的策略,默认["ingress", "egress"]
kubectl explain NetworkPolicy.spec.ingress
字段 值类型 说明
from []Object 资源来源限制

ipBlock: 对 ip 的策略
    cidr: 允许的 CIDR 范围
    except: 不允许的 CIDR 范围

namespaceSelector: 命名空间选择器

podSelector: pod 选择器
ports []Object 可被访问的端口列表。

egress 中是出站流量目的地的端口列表

示例:

default 命名空间下的标签为 role: db 的 pod 们。

ingress 规则为:允许进入命名空间标签为 project: myproject 的且 ip 范围在 172.17.0.0/16 的且 pod 标签为 role: frontendpod 们中

egress 规则为:default 命名空间下 ip 范围是 10.0.0.0/24pod 们可以使用 TPC 5978 端口

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: test-network-policy
  namespace: default            
spec:
  podSelector:                  # 限制的 pod 选择器
    matchLabels:
      role: db
  policyTypes:                  # 限制的策略
    - Ingress
    - Egress
  ingress:                      # 入网限制
    - from:
        - ipBlock:  
            cidr: 172.17.0.0/16 # 允许的 CIDR
            except:             # 拒绝的 CIDR
              - 172.17.1.0/24
        - namespaceSelector:    
            matchLabels:
              project: myproject # 给有 project: myproject 这个标签命名空间的资源做限制
        - podSelector:
            matchLabels:
              role: frontend    # 给有 role: frontend 这个标签的 pod 做限制
      ports:                    # 可访问的端口列表
        - protocol: TCP
          port: 6379
  egress:                       # 出网限制
    - to:
        - ipBlock:
            cidr: 10.0.0.0/24   # 允许出去的 CIDR
      ports:                    # 出网目的地的端口列表
        - protocol: TCP
          port: 5978

相关文章

网友评论

      本文标题:Kubernetes YAML 详解之网络配置(NetworkP

      本文链接:https://www.haomeiwen.com/subject/lnankdtx.html