talos
                                
                                 talos copied to clipboard
                                
                                    talos copied to clipboard
                            
                            
                            
                        K8s VIP using BGP
Feature Request
K8s VIP using BGP instead of ARP
Description
Would be nice to have this so there is no downtime when the control plane is upgraded
@buroa Possibly you're already aware of this, but if you're using CIlium and its BGP control plane, you can do this today. Here's the manifest I apply to accomplish this, while also using port 443 for the external API endpoint:
apiVersion: v1
kind: Service
metadata:
  annotations:
    io.cilium/lb-ipam-ips: <vip-goes-here>
  name: kubernetes-external
  namespace: kube-system
spec:
  externalTrafficPolicy: Local
  type: LoadBalancer
  loadBalancerClass: io.cilium/bgp-control-plane
  selector:
    k8s-app: kube-apiserver
    tier: control-plane
  ports:
    - name: https
      port: 443
      protocol: TCP
      targetPort: 6443