Introduction
Overview
Calico is an open-source network and network solution component developed by Tigera based on the Apache 2.0 open-source license. It can be used for containers, VMs, and native host machines. This component supports multiple platforms, including Kubernetes, OpenShift, Docker EE, OpenStack, and bare metal services.
The goal of the Calico project is to combine flexible network functions with security policy enforcement to provide solutions with native Linux kernel performance and cloud native scalability. For developers and cluster operation management, Calico provides consistent operation experience and function tool sets in both public cloud environments and local environments, regardless of whether the environment is a single-node or cluster environment.
This section describes the basic architecture, principles, and features of the Calico component.
Calico consists of Felix, Confd, and BIRD.
- Felix is a daemon that runs Calico nodes and functions as the daemon of the endpoint of each node. It manages pod information on the current host, exchanges cluster pod information with the etcd service, and combines routing information and ACL policies.
- Confd stores Calico configuration information generated by etcd and is provided for the BIRD layer.
- BIRD (Bird Internet Routing Daemon) is a core component. BIRD in Calico refers to BIRD client and BIRD route reflector. BIRD proactively reads routing information configured by Felix on the local host and distributes routes in the data center through the Border Gateway Protocol (BGP).
In addition, the etcd component is a dependent component of Calico. You need to deploy the etcd service in the cluster in advance or reuse the etcd component of Kubernetes. Calico also provides the calicoctl management tool, which is used to confirm and configure the status of the Calico node.
The Calico software is installed in container image mode.
Programming language: Go
Brief description: Open source network and network security solution
Open source license: Most of the Calico code and files comply with the Apache 2.0 open source license (see License). However, to be compatible with upstream licenses and code, some of the components must use different open source licenses. For example, Calico BPF complies with the GPL 2.0 open source license to be compatible with Linux kernel functions. Query the open source license that each component complies with based on the actual compatibility requirements.
When using open source software, comply with the applicable license.
Recommended Software Version
3.13.1 (You can install other versions based on this document.)