介绍
简要介绍
Calico组件是Tigera公司以Apache 2.0开源协议开源的网络和网络解决方案组件,可用于容器、虚拟机、原生宿主机侧负载。该组件对于众多平台均有支持,包含Kubernetes,OpenShift,Docker EE,OpenStack和裸金属服务等。
Calico项目的目标是将灵活的网络功能和安全性策略实施相结合,以提供具有原生Linux内核性能和云原生可扩展性的解决方案。对于开发人员和集群运营管理来说,不论是在公有云环境还是在本地环境,不论是单机节点还是集群环境,Calico都提供了一致的操作经验和功能工具集。
本章主要介绍Calico组件的基本架构、原理及特性。
图1 Calico组件架构
Calico组件主要架构由Felix、Confd、BIRD组成。
- Felix是负责Calico Node运行并作为每个节点Endpoint端点的守护程序,它负责管理当前主机中的Pod信息,与集群etcd服务交换集群Pod信息,并组合路由信息和ACL策略。
- Confd是负责存储集群etcd生成的Calico配置信息,提供给BIRD层运行时使用。
- BIRD(BIRD Internet Routing Daemon)是核心组件,Calico中的BIRD特指BIRD Client和BIRD Route Reflector,负责主动读取Felix在本机上设置的路由信息,并通过BGP广播协议在数据中心中进行分发路由。
此外,etcd组件是Calico组件运行的依赖组件,需事先在集群中部署etcd服务,或复用Kubernetes的etcd;Calico官方也提供了calicoctl管理工具,用于与Calico Node进行状态确认、状态配置等操作。
安装Calico软件采用容器镜像方式进行安装。
开发语言:Go
一句话描述:开源的网络和网络安全方案
开源协议:Calico大部分代码和文件遵守Apache 2.0开源协议(请参见开源协议),但为了与上游协议和代码兼容,部分组件必须使用不同的开源协议,比如,Calico BPF为兼容Linux内核辅助函数,可遵守GPL 2.0开源协议。请根据实际兼容需求查询各组件所遵守的开源协议。
使用开源软件时需遵守开源软件的许可协议。
建议的版本
建议使用的版本为“3.13.1”,其他版本可参考本文档进行安装。