Abstract
This post describes a simple networking implementation with Flannel.
Deploy the Flannel Networking Add On#
Flannel for networking#
There are quite a few Networking Add Ons for Kubernetes to choose from.
The author has direct experience with Calico, Cillium, and Flannel of which Flannel is the easiest to work with and explain.
Flannel Install Guide#
There are at least two methods for installing Flannel.
Install Flannel with kubectl
#
For those in a rush, the simplest method[1] is to install via
kubectl apply
.
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
Install Flannel with Helm#
Deploying with Helm[2] requires a few more steps, but also allows for much easier customization.
Create a namespace called
kube-flannel
.make a namespace#kubectl create ns kube-flannel
Enable privileged containers in the new
kube-flannel
namespace.update the namespace properties#kubectl label --overwrite ns kube-flannel pod-security.kubernetes.io/enforce=privileged
Add the Flannel Helm repository to your local repositories.
add the repository to your local list#helm repo add flannel https://flannel-io.github.io/flannel/
Install Flannel with Helm, adjusting values as required.
finally install flannel#helm install flannel --set podCidr="10.244.0.0/16" --namespace kube-flannel flannel/flannel
If this runs as expected, you’ll see a result like the following.
flannel deployed via helm#NAME: flannel LAST DEPLOYED: Sun Sep 7 07:43:51 2025 NAMESPACE: kube-flannel STATUS: deployed REVISION: 1 TEST SUITE: None
We now have a cluster that’s ready to run workloads.