cilium系列之二:深入理解cilium的伪装功能Masquerading

在这里插入图片描述
周日的时候几乎通宵,就倒在了cilium的伪装功能上,这个伪装功能就相当于pod的snat作用,以前这个工作在iptables完成的,现在cilium提供ebpf的实现,效率高了很多。

在–set tunnel:disabled直接路由模式下,只对native-routing-cidr的直接路由段不进行伪装,该网段必须精准计算kubernetes集群的ip段,准确填写子网掩码,不能随便乱写。假设192.168.1.100到192.168.1.104是kubernetes集群,假如cidr写了192.168.1.0/24,那pod一样是到不了192.168.1.100至104以外的主机,只能在100到104这几台机转悠。

–set ipMasqAgent.enabled=true而我手贱地设置上了这个参数,意味着以下这些网段也在kubernetes集群内,不需要伪装😂可是阿里云庞大的ecs内网,oss内网,rds内网,通通都囊括在了这些网络😭,我pod完全无法出去,连本机dhcp分配的dns地址都到不了,于是coredns一直报错😒

10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
100.64.0.0/10
192.0.0.0/24
192.0.2.0/24
192.88.99.0/24
198.18.0.0/15
198.51.100.0/24
203.0.113.0/24
240.0.0.0/4

官方文档就说,如果想修改这些网段,可以设置kube-system名命空间下一个叫ip-masq-agent的configmap去修改,创建一个文件夹agent-config,里面放config。masqLinkLocal如果未设置或者为false,则nonMasqueradeCIDRs增加一个网段169.254.0.0/16。创建configmap后一会儿就可以查看到

mkdir agent-config;
#configmap内容如下
cat << EOF > config
nonMasqueradeCIDRs:
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
masqLinkLocal: false
EOF
#创建configmap
kubectl create configmap ip-masq-agent --from-file=agent-config --namespace=kube-system;
#查看cilium内部ipmasq列表
kubectl exec -it -n kube-system cilium-xxxx -- cilium bpf ipmasq list;

通过自定义段有什么作用呢?如果kubernetes集群中的网络是pod能够到达其他网络节点而不用经过网卡snat的话,那就可以增加自定义ipMasqAgent的网段达到直通的性能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值