Creating a Layer4 fastL4¶
This use case is describing a process of deploying an app into an existing Service Proxy for Kubernetes (SPK) environment, and expose the service using a Fastl4 Custom Resource (CR).
Custom Resource Definitions (CRD)¶
SPK Install adds a number of F5 specific Custom Resource Definitions (CRDs). One of these CRDs is ingressroutefastl4s.k8s.f5net.com also referred to as the fastl4 CRD resource definition.
FastL4 in the context of SPK¶
The Service Proxy for Kubernetes (SPK) FastL4 Custom Resource Definition (CRD) configures the Service Proxy Traffic Management Microkernel (TMM) for full-proxy, layer 4 (L4) TCP and UDP traffic management and load balancing. The FastL4 CRD also enables granular connection management. For example, you can modify the type-of-service (TOS) or quality-of-service (QoS) packet headers, connection idle-timeout periods, and whether the system should send TCP reset packets. To view the full list of available FastL4 CRD options, refer to the SPK Reference Guide.
You have access to an existing healthy OpenShift environment
You have deployed SPK version 188.8.131.52
You have deployed an application to your watched namespace
Use case scenario¶
Application owner has containerized a new Network Function and deploys to the namespace (Project) watched by the F5ingress controller.
SPK Administrator exposes the service using a FastL4 Custom Resource (CR).
End User can then consume the service by connecting to the destination address/port within TMM (Virtual Server).
Create a Fastl4 yaml file¶
Create a file fl4.yaml using the sample below for deployment. Note that we specify the API version, as well as the type of ingress we would like to create (IngressRouteFastL4). The destination port and address are reflective of Virtual Server on BIG-IP.
apiVersion: "k8s.f5net.com/v1" kind: IngressRouteFastL4 metadata: name: podinfo service: name: podinfo port: 9898 spec: destinationPort: 8080 destinationAddress: "Your destination IP"
Deploy FastL4 Custom Resource to F5ingress¶
Now we can install the Ingress Route Fast L4 custom resource using the standard
oc utility. The install process complete in a few seconds. Once complete you can check for the applied values using
oc get with the
-o yaml option. Using
oc describe we can see very similar details in a different format.
oc project cnf-apps oc create -f fl4.yaml -n cnf-apps oc get ingressroutefastl4 podinfo -o yaml oc describe ingressroutefastl4 podinfo
Discover the f5ingress pod name¶
oc get pods -n lab-spk-ingress
Use CURL to test application is exposed using the Virtual Server¶
curl http://<Your IP Address>:8080
The results should look something like this example:
How to uninstall your demo application and FastL4 CR¶
Deleting the Fastl4 custom resource is fairly straightforward. We can use the
oc command again point to the yaml file and use the delete option. Alternatively, if you know the object name, type and the namespace it resides in you can delete the object without the file.
oc delete -f fl4.yaml