Calico is an open source networking and network security solution for containers, virtual machines, and bare-metal workloads. Calico uses standard Linux networking tools to provide two major services for Cloud Native applications:
- Network connectivity between workloads.
- Network security policy enforcement between workloads.
Calico’s flexible architecture supports a wide range of deployment options, using modular components, including:
- CNI plugins for Kubernetes to provide highly efficient pod networking and IP Address Management (IPAM).
- A Neutron ML2 plugin to provide VM networking for OpenStack.
- A policy engine, Felix, to provide enforcement of the full set of Kubernetes network policy features, plus for those needing a richer set of policy features, Calico network policies.
- Both non-overlay and overlay (via IPIP or VXLAN) networking options in either public cloud or on-prem deployments.
- A BGP routing stack that can advertise routes for workload and service IP addresses to physical network infrastructure such as Top of Rack routers (ToRs).
- A simple command line interface, calicoctl, for managing Calico configuration and Calico network policies.
There are many avenues to get started with Calico depending on your situation.
- Trying out Kubernetes on a single host or on your own hardware? The Quick Start Guide will have you up and running in about fifteen minutes.
- Running a managed public cloud? Use our guides for enabling Calico Network Policies.
- Want to go deeper? Visit https://docs.projectcalico.org for full documentation.
Calico is an open source project, and welcomes your contribution, be it through code, a bug report, a feature request, or user feedback.
- The Contribution Guidelines document will get you started on submitting changes to the project.
- The Developer Guide will walk you through how to set up a development environment, build the code, and run tests.
- The Calico Documentation Guide will get you started on making changes to https://docs.projectcalico.org.
The Calico community is committed to fostering an open and welcoming environment, with several ways to engage with other users and developers. You can find out more about our monthly meetings, Slack group, and Discourse by visiting our Community Repository.
Calico is open source, with most code and documentation available under the Apache 2.0 license (see the LICENSE), though some elements are necessarily licensed under different open source licenses for compatibility with upstream licensing or code linking. For example, some Calico BPF programs are licensed under GPL v2.0 for compatibility with Linux kernel helper functions.
Calico Enterprise is a commercial product that builds on top of and around the Calico open source project to provide additional capabilities beyond the core Calico feature set. You can learn more here. Calico Enterprise is available under commercial license from Tigera.