From be37025f2a20522e2d90472766ecc439568f3d58 Mon Sep 17 00:00:00 2001 From: Dreaded_X Date: Sun, 24 Nov 2024 01:44:03 +0100 Subject: [PATCH] Configure kube-vip to handle different interface names --- .../kube-vip/kube-vip.app.eno2.yaml | 89 +++++++++++++++++++ ...-vip.app.yaml => kube-vip.app.enp3s0.yaml} | 4 +- .../kube-vip/kustomization.yaml | 3 +- 3 files changed, 94 insertions(+), 2 deletions(-) create mode 100644 clusters/titan.lan.huizinga.dev/kube-vip/kube-vip.app.eno2.yaml rename clusters/titan.lan.huizinga.dev/kube-vip/{kube-vip.app.yaml => kube-vip.app.enp3s0.yaml} (96%) diff --git a/clusters/titan.lan.huizinga.dev/kube-vip/kube-vip.app.eno2.yaml b/clusters/titan.lan.huizinga.dev/kube-vip/kube-vip.app.eno2.yaml new file mode 100644 index 0000000..0389ea5 --- /dev/null +++ b/clusters/titan.lan.huizinga.dev/kube-vip/kube-vip.app.eno2.yaml @@ -0,0 +1,89 @@ +apiVersion: apps/v1 +kind: DaemonSet +metadata: + creationTimestamp: null + labels: + app.kubernetes.io/name: kube-vip-ds + app.kubernetes.io/version: v0.8.3 + name: kube-vip-ds-eno2 + namespace: kube-system +spec: + selector: + matchLabels: + app.kubernetes.io/name: kube-vip-ds + template: + metadata: + creationTimestamp: null + labels: + app.kubernetes.io/name: kube-vip-ds + app.kubernetes.io/version: v0.8.3 + spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: node-role.kubernetes.io/master + operator: Exists + - matchExpressions: + - key: node-role.kubernetes.io/control-plane + operator: Exists + nodeSelector: + vip_interface: eno2 + containers: + - args: + - manager + env: + - name: vip_arp + value: "true" + - name: port + value: "6443" + - name: vip_nodename + valueFrom: + fieldRef: + fieldPath: spec.nodeName + - name: vip_interface + value: eno2 + - name: vip_cidr + value: "32" + - name: dns_mode + value: first + - name: cp_enable + value: "true" + - name: cp_namespace + value: kube-system + - name: svc_enable + value: "true" + - name: svc_leasename + value: plndr-svcs-lock + - name: vip_leaderelection + value: "true" + - name: vip_leasename + value: plndr-cp-lock + - name: vip_leaseduration + value: "5" + - name: vip_renewdeadline + value: "3" + - name: vip_retryperiod + value: "1" + - name: address + value: 10.0.0.200 + - name: prometheus_server + value: :2112 + image: ghcr.io/kube-vip/kube-vip:v0.8.3 + imagePullPolicy: IfNotPresent + name: kube-vip + resources: {} + securityContext: + capabilities: + add: + - NET_ADMIN + - NET_RAW + hostNetwork: true + serviceAccountName: kube-vip + tolerations: + - effect: NoSchedule + operator: Exists + - effect: NoExecute + operator: Exists + updateStrategy: {} diff --git a/clusters/titan.lan.huizinga.dev/kube-vip/kube-vip.app.yaml b/clusters/titan.lan.huizinga.dev/kube-vip/kube-vip.app.enp3s0.yaml similarity index 96% rename from clusters/titan.lan.huizinga.dev/kube-vip/kube-vip.app.yaml rename to clusters/titan.lan.huizinga.dev/kube-vip/kube-vip.app.enp3s0.yaml index e847eda..0467832 100644 --- a/clusters/titan.lan.huizinga.dev/kube-vip/kube-vip.app.yaml +++ b/clusters/titan.lan.huizinga.dev/kube-vip/kube-vip.app.enp3s0.yaml @@ -5,7 +5,7 @@ metadata: labels: app.kubernetes.io/name: kube-vip-ds app.kubernetes.io/version: v0.8.3 - name: kube-vip-ds + name: kube-vip-ds-enp3s0 namespace: kube-system spec: selector: @@ -28,6 +28,8 @@ spec: - matchExpressions: - key: node-role.kubernetes.io/control-plane operator: Exists + nodeSelector: + vip_interface: enp3s0 containers: - args: - manager diff --git a/clusters/titan.lan.huizinga.dev/kube-vip/kustomization.yaml b/clusters/titan.lan.huizinga.dev/kube-vip/kustomization.yaml index 62b5fc8..71ee82c 100644 --- a/clusters/titan.lan.huizinga.dev/kube-vip/kustomization.yaml +++ b/clusters/titan.lan.huizinga.dev/kube-vip/kustomization.yaml @@ -2,6 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - kube-vip.rbac.yaml - - kube-vip.app.yaml + - kube-vip.app.enp3s0.yaml + - kube-vip.app.eno2.yaml - https://raw.githubusercontent.com/kube-vip/kube-vip-cloud-provider/refs/tags/v0.0.10/manifest/kube-vip-cloud-controller.yaml - kube-vip.config.yaml