docs: use the auto deploy directory instead of the kubectl apply

pull/367/head
Louis Tournayre 4 years ago
parent e4488e2b7b
commit 53af379076
  1. 43
      docs/usage/guides/calico.md

@ -1,21 +1,7 @@
# 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
```bash
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](../commands.md).
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
### 1. Download and modify the Calico descriptor
You can following the [documentation](https://docs.projectcalico.org/master/reference/cni-plugin/configuration)
And then you have to change the ConfigMap `calico-config`. On the `cni_network_config` add the entry for allowing IP forwarding
@ -24,22 +10,33 @@ And then you have to change the ConfigMap `calico-config`. On the `cni_network_c
"allow_ip_forwarding": true
}
```
Or directly using the descriptor calico.yaml
Or you can directly use this [calico.yaml](calico.yaml) manifest
### 2.2. Apply the descriptor
With kubectl (check the usage `kubectl kubeconfig` if you can't connect to the cluster).
## 2. Create the cluster without flannel and with calico
On the k3s cluster creation :
- add the flag `--flannel-backend=none`. For this, on k3d you need to forward this flag to k3s with the option `--k3s-server-arg`.
- mount (`--volume`) the calico descriptor in the auto deploy manifest directory of k3s `/var/lib/rancher/k3s/server/manifests/`
From the root of the repository
So the command of the cluster creation is (when you are at root of the k3d repository)
```bash
kubectl apply -f docs/usage/guides/calico.yaml
k3d cluster create "${clustername}" --k3s-server-arg '--flannel-backend=none' --volume "$(pwd)/docs/usage/guides/calico.yaml:/var/lib/rancher/k3s/server/manifests/calico.yaml"
```
In this example :
- change `"${clustername}"` with the name of the cluster (or set a variable).
- `$(pwd)/docs/usage/guides/calico.yaml` is the absolute path of the calico manifest, you can adapt it.
You can add other options, [see](../commands.md).
And watch for the calico pod(s) deployment
The cluster will start without flannel (and without other CNI).
For watching for the pod(s) deployment
```
watch "kubectl get pods -n kube-system"
```
<!> Calico is not as quick as Flannel (but it provides more features)
Note :
- you can use the auto deploy manifest or a kubectl apply depending on your needs
- <!> Calico is not as quick as Flannel (but it provides more features)
## References
https://rancher.com/docs/k3s/latest/en/installation/network-options/

Loading…
Cancel
Save