cn2-dci网络 (CNI网络插件 Calico介绍 16.kubernetes笔记 二)
编号:885 分类:互联网资讯 阅读: 时间:2024-01-30

在本文中,作者介绍了Calico作为一种容器之间互通的网络方案。他们指出在虚拟化平台中,如OpenStack和Docker等,需要实现容器之间的互连,并对容器进行隔离控制,类似于Internet中的服务只开放特定端口或公有云的多租户。但是现有的容器网络方案通常使用二层隔离技术,存在一些问题,如依赖VLAN、bridge和隧道技术,增加了复杂性和资源消耗。为了解决这些问题,作者将Host视为Internet中的路由器,在容器之间使用BGP同步路由,并使用iptables进行安全访问策略,设计出了Calico方案。

Calico的设计思想是将所有二三层流量转换为三层流量,并通过Host上的路由配置实现跨Host转发。相比于二层网络通信,Calico方案具有以下优点。

  1. 更优的资源利用:Calico通过抑制二层广播,减少了资源开销。

  2. 可扩展性:Calico采用与Internet类似的方案,天然具有可扩展性。

  3. 简单而更容易debug:由于没有隧道,workloads之间的路径更短更简单,配置更少,便于进行debug调试。

  4. 更少的依赖:Calico仅依赖三层路由可达。

  5. 可适配性:由于较少的依赖性,Calico适用于各种环境场景,包括VM、Container、白盒或混合环境。

cn2dci网络CNI网络插件Calic

在Calico方案中,作者还介绍了几种相关技术。

IPIP是一种将IP数据包封装到另一个IP包中的方法,类似于基于IP层的网桥。它通过路由将原本不通的网络连接起来。

Vxlan是一种可实现跨网段通信的技术,与Flannel类似,但封装开销较小,效率更高。

BGP是互联网上的核心自治路由协议,通过维护IP路由表实现自治系统之间的可达性。与传统的内部网关协议不同,BGP使用路径、网络策略或规则集来决定路由。作者指出Calico项目提供了基于BGP的网络解决方案,与Flannel的host-gw模式相似,但不同于使用flanneld进程来维护路由信息,Calico使用BGP协议自动维护整个集群的路由信息。

最后,作者推荐了BGP+Vxlan作为部署方案,并介绍了配置选项。在IPv4地址池上,可以启用IPIP及其类型,支持Always(全局流量)和Cross-SubNet等三种可用值。

网址推荐 网址推荐