iptables与容器网络
序言
在家整了一套k8s集群,用了calico来当cni组件,想把容器网络和家里内网打通,在几种网络方案中还是倾向于走路由的方式,一是性能更高,二是pod ip可见即可通,整体思路如下:
- 部署k8s,安装calico
- 家庭网络增加静态路由,pod的cidr指向到随便一个node (会有容灾问题,家庭网络暂且不论)
- 包到了node上后,node根据本身calico维护的路由信息转到目的pod的node,再转入pod内中的服务
方案简介
设备定义
局域网内PC: A
Openwrt旁路由: B
k8s Node节点1(旁路POD CIDR的下一跳): C
k8s Node节点2(目的POD所在节点): D
目标路由
正常路由应该为: A -> B -> C -> D
涉及知识点
- IP路由
- Iptables(net_filter)
- rp_filter