Quickstart for Calico on minikube


Big picture

This quickstart gets you a single-node minikube cluster with Calico in approximately 1 minute. You can use this cluster for testing and development.


Use this quickstart to quickly and easily try Calico features.

Before you begin

How to

Create a single-node minikube cluster

Minikube offers a built-in Calico implementation, this is a quick way to checkout Calico features.

Note: Enabling preinstalled Calico might be the quickest way for testing. However, if you like to checkout a more recent version or features of Calico you should consider using Manifest or Operator approach.

minikube start --network-plugin=cni --cni=calico

Start your minikube cluster with one master node using the following command.

Note: If is already in use within your network you must select a different pod network CIDR, by replacing in the following command.

minikube start --network-plugin=cni --extra-config=kubeadm.pod-network-cidr=

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, use kubectl create or kubectl replace.

Install Calico by creating the necessary custom resource. For more information on configuration options available in this manifest, see the installation reference.

Note: Before creating this manifest, read its contents and make sure its settings are correct for your environment. For example, if you have replaced pod-network-cidr you must change it in this file as well.

kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/custom-resources.yaml

Start your minikube cluster with one master node using the following command.

minikube start --network-plugin=cni 

Install Calico.

kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/calico.yaml

Verify Calico installation

You can verify Calico installation in your cluster by issuing the following command.

watch kubectl get pods -l k8s-app=calico-node -A

You should see a result similar to the below. Note that the namespace might be different, depending on the method you followed.

kube-system   calico-node-mlqvs   1/1     Running   0          5m18s

Use ctrl+c to break out of watch.

Congratulations you now have a minikube cluster equipped with Calico

Add an additional worker node

Note: This as an optional step, you can safely skip this step if you do not require an additional worker node.

minikube node add

Verify nodes using the following command

kubectl get nodes

Clean up

Issuing a delete command will destroy the cluster that you created in this tutorial.

minikube delete

Next steps


Recommended tutorials