Little helper to run CNCF's k3s in Docker
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
k3d/docs/usage/guides/calico.md

1.6 KiB

Use Calico instead of Flannel

If you want to use NetworkPolicy you can use Calico in k3s instead of Flannel.

1. Disable Flannel

On the k3s cluster creation add the flag --flannel-backend=none. For this on k3d you need to foward this flag to k3s with the option --k3s-server-arg.

So the command of the cluster creation is

    k3d cluster create "${clustername}" --k3s-server-arg --flannel-backend=none

In this exemple change "${clustername}" with the name of the cluster (or set a variable). You can add other options, see.

The cluster will start without flannel (and without other CNI).

2. Install Calico

Now you need to install Calico

2.1. Download and modify the Calico descriptor

You can following the documentation

And then you have to change the ConfigMap calico-config. On the cni_network_config add the entry for allowing IP forwarding

    "container_settings": {
        "allow_ip_forwarding": true
    }

Or directly using the descriptor calico.yaml

2.2. Apply the descriptor

With kubectl (check the usage kubectl kubeconfig if you can't connect to the cluster).

From the root of the repository

    kubectl apply -f docs/usage/guides/calico.yaml

And watch for the calico pod(s) deployment

    watch "kubectl get pods -n kube-system"

<!> Calico is not as quick as Flannel (but it provides more features)

References

https://rancher.com/docs/k3s/latest/en/installation/network-options/
https://docs.projectcalico.org/getting-started/kubernetes/k3s/