Dual CRD Support

Overview

As part of finalizing the SPK product in version 1.3.1, the Custom Resource Definition (CRD) kind and apiVersion parameters were changed. The Ingress Controller now supports both the earlier and later versions of SPK CRs.

This document describes how the Ingress Controller processes the version 1.3.0 and earlier CRs.

Installations

When installing a version 1.3.0 or earlier CR, the Ingress Controller replicates the CR’s configuration in a newer 1.3.1 version CR in the application Project. The Ingress Controller then uses the newer CR to configure the Service Proxy Traffic Management Microkernel (TMM). When the installation process occurs, Ingress Controller logs messages similar to the following:

controller_fastL4_deprecated.go:34] CRD IngressRouteFastL4 is deprecated : nginx-server
controller_fastL4_deprecated.go:128] New name CR create result:F5SPKIngressTCPs: 
controller_tcp.go:52] Adding or Updating F5SPKIngressTCP: web-apps/nginx-server
controller_tcp.go:102] createF5SPKIngressTCP: nginx-server

You will now be able to view both CRs in the application Project:

_images/spk_info.png Note: This example shows a FastL4 CR in the web-apps Project. Refer to the Naming Translation section below for the full CR list.

oc get ingressroutefastl4,f5-spk-ingresstcp -n web-apps
NAME                                           
ingressroutefastl4.k8s.f5net.com/nginx-server  

NAME                                                  
f5spkingresstcp.ingresstcp.k8s.f5net.com/nginx-server 

Modifications

When configuration updates (modifications) are made to version 1.3.0 or earlier CRs, the Ingress Controller also updates the newer 1.3.1 version replica, and uses this update to modify the Service Proxy TMM configuration. When the update process occurs, Ingress Controller logs messages similar to the following:

 controller_fastL4_deprecated.go:57] IngressRouteFastL4 nginx-server changed, syncing
 controller_fastL4_deprecated.go:205] Updated F5SPKIngressTCPs:

Deletions

When deleting a version 1.3.0 or earlier CR, the Ingress Controller deletes both the 1.3.0 and 1.3.1 CRs, and removes the configuration from the Service Proxy TMM. When the deletion process occurs, Ingress Controller logs messages similar to the following:

 controller_fastL4_deprecated.go:51] Removing IngressRouteFastL4: nginx-server
 controller_tcp.go:194] Removing F5SPKIngressTCP: nginx-server

Naming translation

The table below translates the early CR names the to newer CR names.

Early CRs Newer CRs
ingressroutefastl4s.k8s.f5net.com f5-spk-ingresstcps.ingresstcp.k8s.f5net.com
ingressrouteudps.k8s.f5net.com f5-spk-ingressudps.ingressudp.k8s.f5net.com
ingressroutediameters.k8s.f5net.com f5-spk-ingressdiameters.k8s.f5net.com
ingressroutestaticroutes.k8s.f5net.com f5-spk-staticroutes.k8s.f5net.com
ingressroutesnatpools.k8s.f5net.com f5-spk-snatpools.k8s.f5net.com
ingressroutevlans.k8s.f5net.com f5-spk-vlans.k8s.f5net.com

Feedback

Provide feedback to improve this document by emailing spkdocs@f5.com.

Supplemental