Install Calico on a Rancher Kubernetes Engine cluster
Big picture
Install Calico as the required CNI for networking and/or network policy on Rancher-deployed clusters.
Concepts
Calico supports the Calico CNI with Calico network policy:
The geeky details of what you get:
Policy | IPAM | CNI | Overlay | Routing | Datastore |
---|---|---|---|---|---|
Before you begin
Required
A compatible Rancher Kubernetes Engine cluster with version 1.3
- Configure your cluster with a Cluster Config File and specify no network plugin by setting
plugin: none
undernetwork
in your configuration file.
- Configure your cluster with a Cluster Config File and specify no network plugin by setting
RKE cluster meets the Calico requirements
A
kubectl
environment with access to your cluster- Use Rancher kubectl Shell for access
- Ensure you have the Kubeconfig file that was generated when you created the cluster.
- If using a Kubeconfig file locally, install and set up the Kubectl CLI tool.
How to
Install Calico
Install the Tigera Calico operator and custom resource definitions.
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/tigera-operator.yaml
note
Due to the large size of the CRD bundle,
kubectl apply
might exceed request limits. Instead, usekubectl create
orkubectl replace
.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://raw.githubusercontent.com/projectcalico/calico/v3.25.0/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. Rancher uses
10.42.0.0/16
by default.note
If you are installing Calico on Windows nodes in this cluster, please see the Calico for Windows for RKE installation instructions.
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
ofRunning
.
Congratulations! You now have an RKE cluster running Calico
Next steps
Required
Recommended tutorials