kube-router: [v2.0.0 Issue]: Changing a service to PreferDualStack does not advertise IPv6 routes

When modifying an existing service of type LoadBalancer to PreferDualStack, the IPv6 route is not advertised.

  1. Run an nginx container kubectl run nginx --image=nginx
  2. Create service
kind: Service
metadata:
  name: nginx
spec:
  selector:
    run: nginx
  ports:
    - protocol: TCP
      port: 80
      name: http
  type: LoadBalancer
  externalTrafficPolicy: Local
  1. Edit service and add ipFamilyPolicy: PreferDualStack
  2. Confirm no IPv6 route is advertised
  3. Delete service and create with ipFamilyPolicy: PreferDualStack
  4. Confirm IPv6 route is advertised

System Information:

  • Kube-Router Version (kube-router --version): 2.0.0-rc1
  • Kube-Router Parameters: Deployed with Cilium - "--enable-ipv6=true" - "--run-router=true" - "--run-firewall=false" - "--run-service-proxy=false" - "--bgp-graceful-restart=true" - "--enable-cni=false" - "--enable-pod-egress=false" - "--enable-ibgp=true" - "--enable-overlay=true" - "--peer-router-ips=" - "--peer-router-asns=" - "--cluster-asn=" - "--advertise-cluster-ip=false" - "--advertise-external-ip=true" - "--advertise-loadbalancer-ip=true"
  • Kubernetes Version (kubectl version) : 1.26.1
  • Cloud Type: on premise
  • Kubernetes Deployment Type: kubeadm
  • Kube-Router Deployment Type: DaemonSet
  • Cluster Size: 9 nodes

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 20

Most upvoted comments

@aauren I claimed success a bit early. While the IPv6 routes are added and removed now, the externalTrafficPolicy: Local is advertising all nodes, and not just the ones with the pod.