Forum Discussion

Denis_O's avatar
Denis_O
Icon for Nimbostratus rankNimbostratus
Nov 01, 2019

How to define tcp_half_open monitor with k8s-bigip-ctlr

Hello,

how I can define backend health monitor to be tcp_half_open through k8s-bigip-ctlr?

currently backend configuration have a key "healthMonitors" but it take values only TCP, UDP or HTTP,

I even tried to change health monitor manually - but it is reverted by controller pod.

any ideas?

https://clouddocs.f5.com/products/connectors/k8s-bigip-ctlr/v1.5/#backend

I tried with:

{
"virtualServer": {
    "backend": {
      "servicePort": 8080,
      "serviceName": "my-service",
      "healthMonitors": [{"protocol": "tcp_half_open"}]
    },
    "frontend": {
      "virtualAddress": {
        "port": 9090,
        "bindAddr": "123.44.11.11"
      },
      "partition": "k8s",
      "balance": "least-connections-member",
      "mode": "tcp"
    }
  }
}

but getting obvious error:

2019/10/31 19:54:57 [WARNING] Could not get config for ConfigMap: f5.vs - configMap is not valid, errors: ["virtualServer.backend.healthMonitors.0.protocol: virtualServer.backend.healthMonitors.0.protocol must be one of the following: \"http\", \"tcp\", \"udp\""]
  • so why do you believe you can use tcp_half_open if both the documentation and the error state you can't?

  • Because with default health monitor I get warning messages about pending connections inside of deployed application, if I disable k8s-bigip-ctlr and manually change health monitor to be "tcp_half" - warning messages disappear, but without k8s-bigip-ctlr services list will not be updated.

     

    So I expected k8s-bigip-ctlr to be able to do the same thing as user can do from f5 UI

     

  • Define the desired BIG-IP virtual server settings as a Service Plan in the |cfctlr| Application Manifest. You can add the Service Plan section to the Application Manifest for an existing |cfctlr| instance, or when deploying the Controller for the first time DG Customer First

  • I see Service Plan in Cloud Foundry controller configuration, but I don't see it how to configure this in generic K8S controller.

     

    https://clouddocs.f5networks.net/containers/v1/cloudfoundry/cfctlr-app-install.html#apply-big-ip-policies-and-profiles

     

    https://clouddocs.f5.com/products/connectors/k8s-bigip-ctlr/v1.5/#backend

     

  • i haven't used it before, but from the documentation and specially here:

     

    https://clouddocs.f5networks.net/containers/v1/releases_and_versioning.html#bigip-virtual-server

     

    https://github.com/F5Networks/k8s-bigip-ctlr/blob/master/schemas/bigip-virtual-server_v0.1.7.json

     

    i would say that the control is limited at the moment and you simply cant do anything yet which is possible in the big-ip directly.