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: f5-tmm-dynamic-routing-template
       namespace: alpha
    
  2. Install the ZebOS ConfigMap.

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

    kubectl apply -f zebos-conf.yaml -n alpha
    

    Note: Ensure that the ZebOS ConfigMap is installed in the same namespace where the BNKGatewayClass CR is installed.

View the ZebOS ConfigMap

To view the ZebOS ConfigMap, run the following command.

kubectl get cm -n alpha

Sample Output

NAME                                DATA   AGE
f5-tmm-dynamic-routing-template     1      7d22h