Files
home-network-k3s-impl/infra/ansible/roles/kube_vip/defaults/main.yml
T
jakman85andClaude Opus 4.8 dbd73f1f88 kube-vip: v0.8.9 -> v1.2.3 (k8s 1.36 catch-up)
Manifest env-var config (manager/cp_enable/svc_enable/vip_arp/leaderelection) is unchanged across
0.8->1.2, so the bump is image + re-applied auto-deploy manifest.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-08-30 14:58:33 -05:00

35 lines
1.5 KiB
YAML

---
# kube_vip role defaults — control-plane HA VIP for the k3s kube-API.
#
# kube-vip runs as a DaemonSet on the control-plane nodes and floats a single
# virtual IP (kube_vip_address) that always points at the current leader, giving
# the kube-apiserver a stable failover endpoint (an operator port-forward fronts
# it at 192.168.1.49:6443). It is CONTROL-PLANE ONLY (svc_enable=false): Cilium
# owns Service LoadBalancing (L2 pool .53-.60), so kube-vip must not touch
# Services or the two would fight over ARP for LoadBalancer IPs.
# The floating control-plane VIP. Defined in group_vars/all.yml so k3s_server's
# tls-san list and this role stay in parity; this default is the fallback.
kube_vip_address: "192.168.1.49"
# Image pinned deliberately — a version bump is a code change (verified tag on
# ghcr.io). v1.2.3 is the current stable release (k8s-1.36 catch-up from v0.8.9).
kube_vip_version: "v1.2.3"
kube_vip_image: "ghcr.io/kube-vip/kube-vip:{{ kube_vip_version }}"
kube_vip_namespace: "kube-system"
kube_vip_port: 6443
# Empty => auto-detected per host (the interface holding 192.168.1.5x); override
# only if detection is wrong.
kube_vip_interface: ""
# Leader-election tuning (seconds) — a snappy failover without thrashing.
kube_vip_lease_duration: 15
kube_vip_renew_deadline: 10
kube_vip_retry_period: 2
# k3s auto-deploy manifests dir: k3s applies anything here on start, so kube-vip
# is reproducible and independent of Flux/Helm.
kube_vip_manifest_path: "/var/lib/rancher/k3s/server/manifests/kube-vip.yaml"