ZebOS ConfigMaps

The BIG-IP Next for Kubernetes TMM pod’s f5-tmm-routing container uses the ZebOS.conf file as a ConfigMap for its BGP configuration. This allows dynamic routing to the BGP configuration through the Bidirectional Forwarding Detection (BFD) watcher without the need to restart the f5-tmm-routing container. The setup with seamless updates ensures efficient routing and robust fault detection in Kubernetes clusters.

Create ZebOS ConfigMap

The f5-tmm-routing container requires a ZebOS ConfigMap, which is used to store BGP configuration.

Follow the instructions below to create the ZebOS ConfigMap:

  1. Create a file named zebos-conf.yaml with the below content:

    apiVersion: v1
    data:
       ZebOS.conf: |
          router bgp 64522
            !
            bgp router-id 192.168.154.96
            bgp log-neighbor-changes
            bgp graceful-restart restart-time 120
            no bgp default ipv4-unicast
            redistribute kernel
            !
            max-paths ebgp 5
            !
            neighbor spkv4 peer-group
            neighbor spkv4 remote-as 64521
            neighbor spkv4 activate
            neighbor 10.4.1.246 remote-as 64521
            neighbor 10.4.1.246 activate
    
            neighbor spkv6 peer-group
            neighbor spkv6 remote-as 64521
            neighbor spkv6 activate
            neighbor fc04:1::254 remote-as 64521
            neighbor fc04:1::254 activate
            !
            !
            address-family ipv6 unicast
               redistribute kernel
               neighbor fc04:1::254 activate
            exit-address-family
            !
            address-family ipv4
               redistribute kernel
               neighbor 10.4.1.246 activate
            exit-address-family
            !
    
    
            bfd gtsm enable
            interface external
              bfd interval 100 minrx 100 multiplier 3
              exit
            router bgp 64522
              neighbor 10.4.1.246 fall-over bfd
              neighbor fc04:1::254 fall-over bfd
    
    kind: ConfigMap
    metadata:
       name: spk-bgp
       namespace: default
    
  2. Install the ZebOS ConfigMap:

    In this example, the ZebOS ConfigMap installs to the default Project.

    kubectl create configmap spk-bgp --from-file=ZebOS.conf -n default
    

ZebOS ConfigMap Name in SPKInstance CR

Ensure that the created ZebOS ConfigMap name (e.g., spk-bgp) is specified in the SPKInstance CR for enabling dynamic routing to the BGP configuration.

Below is an example of the SPKInstance CR with the ZebOS ConfigMap name specified.

tmm:
  dynamicRouting:
    enabled: true
    configMapName: "spk-bgp"
    exportZebosLogs: false