k8s——10.网络通信(flannel、calico)
calico、flannel
·
文章目录
使用阿里云主机ECS,
四台主机信息如下:
server1 — 私网IP:10.0.0.2 ----公网IP: 47.108.54.185 ---- 搭建docker仓库harbor—nfs服务器
server2 — 私网IP:10.0.0.3 ----公网IP: 47.108.144.231 ---- k8s集群主节点
server3 — 私网IP:10.0.0.4 ----公网IP: 47.108.115.206 ---- k8s集群节点
server4 — 私网IP:10.0.0.5 ----公网IP: 47.108.28.42 ---- k8s集群节点
不同节点上的pod之间通信需要使用网络插件。flannel插件和calico插件是比较流行的插件。flannel插件只负责通信,没有网络策略。比如想要控制哪些pod可以访问,哪些pod不能访问.
flannel
calico
-
calico简介:
flannel实现的是网络通信,calico的特性是在pod之间的隔离(网络策略)。
通过BGP路由,但大规模端点的拓扑计算和收敛往往需要一定的时间和计算资源。
纯三层的转发,中间没有任何的NAT和overlay,转发效率最好。Calico 仅依赖三层路由可达。Calico 较少的依赖性使它能适配所有 VM、Container、白盒或者混合环境场景。
harbor仓库新建公开项目
上传calico镜像
部署calico
设定网络策略
为了使得策略生效,重新生成pod
设置满足多个条件中的一个即可
设置同时满足多个条件
拒绝所有入栈流量,放行满足条件的流量
ingress-controller部署到特定节点,并直接使用节点网络
重新部署ingress-nginx
设定svc ingress-nginx-controller为ClusterIP类型
因为部署ingress-nginx时设定直接使用主机节点的网络
更多推荐
已为社区贡献8条内容
所有评论(0)