apiVersion: cilium.io/v2alpha1 kind: CiliumBGPClusterConfig metadata: name: router spec: bgpInstances: - name: "main" localASN: 65000 peers: - name: barracuda peerASN: 65000 peerAddress: 2001:470:61a3:100::1 peerConfigRef: name: cilium-peer --- apiVersion: cilium.io/v2alpha1 kind: CiliumBGPPeerConfig metadata: name: cilium-peer spec: timers: keepAliveTimeSeconds: 3 holdTimeSeconds: 9 connectRetryTimeSeconds: 12 gracefulRestart: enabled: true restartTimeSeconds: 60 families: - afi: ipv4 safi: unicast advertisements: matchLabels: advertise: bgp - afi: ipv6 safi: unicast advertisements: matchLabels: advertise: bgp --- apiVersion: cilium.io/v2alpha1 kind: CiliumBGPAdvertisement metadata: name: bgp-advertisements labels: advertise: bgp spec: advertisements: - advertisementType: "CiliumPodIPPool" # Wanting to advertise all pools # https://docs.cilium.io/en/v1.16/network/bgp-control-plane/bgp-control-plane-v2/#multipool-ipam selector: matchExpressions: - { key: somekey, operator: NotIn, values: ["never-used-value"] } - advertisementType: Service service: addresses: # Not advertising ClusterIP - kubeproxyreplacement should? translate them directly to pod ips # Not advertising ExternalIP - they should be reachable via static config - LoadBalancerIP selector: matchExpressions: - { key: somekey, operator: NotIn, values: ["never-used-value"] }