背景描述:
我们的k8s集群使用flannel cni插件,由于flannel 不支持 networkpolicy, 所以我们研究了其他的支持网络策略的cni,calico 和canal
为什么是canal
刚开始去研究了 calico ,发现calico支持 ipip 和bgp两种策略, 由于我们IT当前不支持BGP网络, 而IPIP模式对于calico而言,意义不是很大,所以决定部署更为简单的canal
什么是canal
Canal是Flannel和Calico联合发布的一个统一网络插件,提供CNI网络插件,并支持network policy
部署canal
使用k8s的etcd集群 部署canal ,如果集群中有其他的cni 先进行卸载
1.创建canal使用的RBAC权限
kubectl apply -f \
https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/canal/rbac-etcd.yaml
2.下载 manifest
curl \
https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/canal/canal-etcd.yaml \
-O
3.修改ConfigMap 中的etcd_endpoints 地址信息
4.部署canal服务
kubectl apply -f canal-etcd.yaml
本文详细介绍了在Kubernetes集群中使用Canal CNI插件的过程。鉴于Flannel不支持NetworkPolicy,文章对比了Calico和Canal,最终选择了更简易的Canal。通过具体的步骤,包括RBAC权限设置、Manifest下载、配置修改及服务部署,为读者提供了全面的部署指南。
40

被折叠的 条评论
为什么被折叠?



