更新时间:2024-07-12 GMT+08:00
创建防御策略(容器隧道网络模型集群)
容器隧道网络模型的集群支持通过设置网络策略的方式限制访问Pod的流量。当未配置网络策略时,默认所有进出命名空间中的Pod的流量都被允许。
约束与限制
- 仅容器隧道网络模型的集群支持网络策略。网络策略分为以下规则
- 入方向规则:所有CCE集群版本均支持。
- 出方向规则:CCE集群版本大于或等于1.23时支持。
- 不支持对IPv6地址网络隔离。
通过YAML创建网络策略
- 登录管理控制台。
- 在页面左上角单击,选择“区域”,选择“安全 > 企业主机安全”,进入“企业主机安全”页面。
- 选择“容器防火墙”页面。 ,进入
- 单击容器隧道网络模型的集群所在行操作列的“策略管理”,进入策略管理页面。
- 单击策略列表上方“YAML创建”。
- 在YAML创建界面输入或单击“导入”数据。
以下为一个YAML创建的网络策略示例:
apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: test-network-policy namespace: default spec: podSelector: #规则对具有role=db标签的Pod生效 matchLabels: role: db policyTypes: - Ingress - Egress ingress: #表示入规则 - from: - namespaceSelector: #只允许具有project=myproject的命名空间访问 matchLabels: project: myproject - podSelector: #只允许具有role=frontend标签的Pod访问 matchLabels: role: frontend ports #只允许使用TCP协议访问6379端口 - protocol: TCP port: 6379 egress: #表示出规则 - to: - ipBlock: #只允许访问目的对象的10.0.0.0/24网段。 cidr: 10.0.0.0/24 ports: #只允许使用TCP协议访问目的对象的6379端口 - protocol: TCP port: 6379
- 输入完成后,单击“确认”。
通过可视化界面创建网络策略
- 登录管理控制台。
- 选择“容器防火墙”页面。 ,进入
- 单击容器隧道网络模型的集群所在行操作列的“策略管理”,进入策略管理页面。
- 单击网络策略列表上方“创建网络策略”。
- 策略名称:自定义输入网络策略名称。
- 命名空间:选择网络策略所在命名空间。
- 选择器:输入标签键和标签值选择要关联的Pod,然后单击“确认添加”。您也可以单击“引用负载标签”直接引用已有负载的标签。不选择时,默认关联命名空间下的全部Pod。
- 入方向规则:单击添加规则,添加入方向规则,参数说明请参见表 添加入方向规则。
- 出方向规则:单击添加规则,添加出方向规则,参数说明请参见表 添加出方向规则。
表2 添加出方向规则 参数
参数说明
协议端口
填写目的对象的端口和协议。不填写表示不限制。
目标网段
允许将流量转发至指定的一个网段内(可指定多个例外网段)。
指定网段和例外网段用竖线(|)分隔,多个例外网段用逗号(,)分隔。
例如:172.17.0.0/16|172.17.1.0/24,172.17.2.0/24 表示允许访问 172.17.0.0/16 网段,其中 172.17.1.0/24 和 172.17.2.0/24 两个网段例外。
目的对象命名空间
目的对象所在的命名空间,不填写表示和当前策略属于同一命名空间。
目的对象Pod标签
允许访问带有这个标签的Pod,不填写表示允许访问命名空间下全部Pod。
- 设置完成后,单击“确定”。
相关操作
同步CCE网络策略
支持同步在CCE中创建的网络策略至HSS。
- 单击网络策略列表上方“手动同步”。
- “最近同步时间”更新为最新同步任务完成时间,表示同步完成。
父主题: 容器防火墙