Link download: https://github.com/projectcalico/calico
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
Choose download ZIP
Choose extract files
Getting Started Developing Calico
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.
Use Calico for NetworkPolicy
This page shows a couple of quick ways to create a Calico cluster on Kubernetes.
Before you begin
Creating a Calico cluster with Google Kubernetes Engine (GKE)
- To launch a GKE cluster with Calico, include the –enable-network-policy flag.
Syntax gcloud container clusters create [CLUSTER_NAME] –enable-network-policy
- Example gcloud container clusters create my-calico-cluster –enable-network-policy
- To verify the deployment, use the following command.kubectl get pods –namespace=kube-system
- The Calico pods begin with calico. Check to make sure each one has a status of Running
Creating a local Calico cluster with kubeadm
To get a local single-host Calico cluster in fifteen minutes using kubeadm, refer to the Calico Quickstart.
Install Calico on nodes and hosts for popular orchestrators, and install the calicoctl command line interface (CLI) tool.
Get Calico up and running in your Kubernetes cluster.
Install Calico networking and network policy for OpenStack.
Install Calico on hosts to secure host communications.
Install and configure the Calico CLI for managing resources.
Install the Tigera Calico operator and custom resource definitions.
kubectl create -f https://docs.projectcalico.org/manifests/tigera-operator.yaml
- Install Calico by creating the necessary custom resource. For more information on configuration options available in this manifest, see the installation reference.
kubectl create -f https://docs.projectcalico.org/manifests/custom-resources.yaml
- Note: Before creating this manifest, read its contents and make sure its settings are correct for your environment. For example, you may need to change the default IP pool CIDR to match your pod network CIDR.Confirm that all of the pods are running with the following command.watch kubectl get pods -n calico-system
- Wait until each pod has the STATUS of Running. Note: The Tigera operator installs resources in the calico-system namespace. Other install methods may use the kube-system namespace instead.Remove the taints on the master so that you can schedule pods on it.kubectl taint nodes –all node-role.kubernetes.io/master-
- It should return the following. node/<your-hostname> untainted
- Confirm that you now have a node in your cluster with the following command.
kubectl get nodes -o wide
- It should return something like the following.
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME<your-hostname> Ready master 52m v1.12.2 10.128.0.28 <none> Ubuntu 18.04.1 LTS 4.15.0-1023-gcp docker://18.6.1
Congratulations! You now have a single-host Kubernetes cluster with Calico.