Cannot create tcp-only VirtualServer with bigip-controller
Im running Rancher and ingress-nginx and would like a simple solution to manage VIPs and have automatic update of the pool members, e.g passthru/tcp-only loadbalancing with TLS termination in ingress-niginx.
Installed the f5-bigip-ctlr helm chart with these values:
manage-ingress: false
pool_member_type: nodeport
custom-resource-mode: true
ingress-nginx is running on a nodeport.
Created a VIP CR with these settings:
apiVersion: "cis.f5.com/v1"
kind: VirtualServer
metadata:
name: labb101-https
namespace: ingress-nginx
labels:
f5cr: "true"
spec:
partition: k8s_lab
virtualServerAddress: "10.25.11.30"
virtualServerName: "labb101-k8s-mydomain-com"
virtualServerHTTPPort: 443
pools:
- path: /
service: ingress-nginx-labb101-controller
servicePort: 443
monitors:
- interval: 10
recv: a
send: /
targetPort: 443
timeout: 10
type: tcp
Most resources are created correct however I cant get a VIP created with HTTP Profile (Client) "None" (as represented in the GUI)
If I dont specify profile, it is set automatically to "http".
And if I set tlsProfileName to "" (just guessing this is the field) validation fails with error Invalid value: "": spec.tlsProfileName in body should match '^[a-zA-Z]+[-A-z0-9_.:]+[A-z0-9]+$'
Another weird behavior is that my VIP gets Default Persistence Profile: cookie for some reason although Im not specifying it in my VirtualServer. (this may be why HTTP Profile is set to http, no sure)
So it appears I should have read the manual better 😛
I was using the wrong CRD, the correct one to use when you need a tcp-only VIP is TransportServer: https://clouddocs.f5.com/containers/latest/userguide/crd/transportserver.html