cilium插件测试_Cilium Network Policy

本文详细介绍了Cilium网络插件的第三层配置,包括基于Label、Service、Entities和CIDR的策略示例,以及第四层配置,如端口限制。内容涵盖入口和出口策略,展示了如何控制不同endpoint间的通信,以及对外部服务的访问策略。
摘要由CSDN通过智能技术生成

一、第三层配置示例

1. 基于Label的策略

使用busybox启动三个pod:box-a,box-b,box-c,测试a->b,c->b联通性

入口策略

配置基于label的策略:只允许a->b

apiVersion: "cilium.io/v2"

kind: CiliumNetworkPolicy

metadata:

name: "a-to-b-allow"

spec:

endpointSelector:

matchLabels:

app: box-b

ingress:

- fromEndpoints:

- matchLabels:

app: box-a

以上配置使用了简单的入口规则来允许带有标签app=box-a的endpoint到带有标签app=box-b的endpoint的通信,其他的默认拒绝。即:b只允许a的流量通过,其他拒绝

配置允许所有的endpoints到app=box-b的通信

apiVersion: "cilium.io/v2"

kind: CiliumNetworkPolicy

metadata:

name: "all-to-b-allow"

spec:

endpointSelector:

matchLabels:

app: box-b

ingress:

- fromEndpoints:

- {}

配置拒绝所有的endpoints到app=box-b的通信

apiVersion: "cilium.io/v2"

kind: CiliumNetworkPolicy

metadata:

name: "all-to-b-deny"

spec:

endpointSelector:

matchLabels:

app: box-b

ingress:

- {}

出口策略

配置基于label的策略,b只能到a

apiVersion: "cilium.io/v2"

kind: CiliumNetworkPolicy

metadata:

name: "a-from-b-allow"

spec:

endpointSelector:

matchLabels:

app: box-b

egress:

- toEndpoints:

- matchLabels:

app: box-a

配置允许app=box-b到所有的endpoints的通信

apiVersion: "cilium.io/v2"

kind: CiliumNetworkPolicy

metadata:

name: "a-from-b-allow"

spec:

endpointSelector:

matchLabels:

app: box-b

egress:

- toEndpoints:

- {}

配置拒绝app=box-b到所有的endpoints的通信

apiVersion: "cilium.io/v2"

kind: CiliumNetworkPolicy

metadata:

name: "a-from-b-allow"

spec:

endpointSelector:

matchLabels:

app: box-b

egress:

- {}

2. 基于Service的策略

配置允许app=h

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值