A poor-man "load-balancer" controller for kubernetes clusters without a cloud-controller. For when even kube-vip or metalLB are to much.
It replicate the k3s behaviour by starting klipper-lb
DaemonSet.
kubelet should be started with --allowed-unsafe-sysctls 'net.ipv6.conf.all.forwarding,net.ipv4.ip_forward' --provider-id 'vraquier://<node name>' --cloud-provider=external
On master nodes create a manifests for vraquier as follow:
---
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
name: vraquier
namespace: kube-system
spec:
containers:
- image: "sebt3/vraquier:latest"
imagePullPolicy: Always
name: vraquier
volumeMounts:
- mountPath: /etc/kubernetes/admin.conf
name: kubeconfig
volumes:
- hostPath:
path: /etc/kubernetes/admin.conf
name: kubeconfig
status: {}
Until the instance part does it automaticly... TODO: https://kubernetes.io/fr/docs/tasks/administer-cluster/running-cloud-controller/
kubectl label nodes my-k8s-node vraquier.solidite.fr/external-ip=1.2.3.4
Calico/Canal doesn't play well with vraquier by default.