Deploying kube-router with kubeadm
Please follow the steps to install Kubernetes
cluster with Kubeadm, however must specify --pod-network-cidr
when you run kubeadm init
.
kube-router relies on kube-controller-manager to allocate pod CIDR for the nodes.
kube-router provides pod networking, network policy and high perfoming IPVS/LVS based service proxy. Depending on your choice to use kube-router for service proxy you have two options.
kube-router Providing Pod Networking and Network Policy
For the step #3 Installing a Pod network add-on install a kube-router pod network and network policy add-on with the following command:
KUBECONFIG=/etc/kubernetes/admin.conf kubectl apply -f https://raw.githubusercontent.com/cloudnativelabs/kube-router/master/daemonset/kubeadm-kuberouter.yaml
kube-router Providing Service Proxy, Firewall and Pod Networking
For the step #3 Installing a Pod network add-on install a kube-router pod network and network policy add-on with the following command:
KUBECONFIG=/etc/kubernetes/admin.conf kubectl apply -f https://raw.githubusercontent.com/cloudnativelabs/kube-router/master/daemonset/kubeadm-kuberouter-all-features.yaml
Now since kube-router provides service proxy as well. Run below commands to remove kube-proxy and cleanup any iptables configuration it may have done.
KUBECONFIG=/etc/kubernetes/admin.conf kubectl -n kube-system delete ds kube-proxy
To cleanup kube-proxy we can do this with docker, containerd, or cri-o:
docker
docker run --privileged -v /lib/modules:/lib/modules --net=host registry.k8s.io/kube-proxy-amd64:v1.28.2 kube-proxy --cleanup
containerd
ctr images pull k8s.gcr.io/kube-proxy-amd64:v1.28.2
ctr run --rm --privileged --net-host --mount type=bind,src=/lib/modules,dst=/lib/modules,options=rbind:ro \
registry.k8s.io/kube-proxy-amd64:v1.28.2 kube-proxy-cleanup kube-proxy --cleanup
cri-o
crictl pull registry.k8s.io/kube-proxy-amd64:v1.28.2
crictl run --rm --privileged --net-host --mount type=bind,src=/lib/modules,dst=/lib/modules,options=rbind:ro
registry.k8s.io/kube-proxy-amd64:v1.28.2 kube-proxy-cleanup kube-proxy --cleanup