Forum Discussion
F5 kubernetes f5 controller failing to compose 'poolMemberAddrs' and failing to generate F5 objects
Hi - I set this up: http://clouddocs.f5.com/products/connectors/k8s-bigip-ctlr/v1.0/ and getting errors after uploading my configmap and an applicable service:
2017/04/28 23:43:30 [INFO] File "/app/python/_f5.py", line 393, in _create_ltm_config_kubernetes 2017/04/28 23:43:30 [INFO] for node in backend['poolMemberAddrs']: 2017/04/28 23:43:30 [INFO] TypeError: 'NoneType' object is not iterable
The config file generated by /app/bin/k8s-bigip-ctlr does not populate "poolMemberAddrs" so the python f5 handler /app/python/bigipconfigdriver.py is crashing since it cannot figure out the nodeport targets:
/app cat /tmp/k8s-bigip-ctlr.config281602422/config.json
{"bigip":{"username":"xxxxxxxxx","password":"yyyyyyyy","url":";:["k8s"]},"global":{"log-level":"INFO","verify-interval":30},"services":[{"virtualServer":{"backend":{"serviceName":"av-service","servicePort":30000,"poolMemberPort":0,"poolMemberAddrs":null},"frontend":{"virtualServerName":"default_av-service","partition":"k8s","balance":"round-robin","mode":"http","virtualAddress":{"bindAddr":"1.2.3.4","port":80},"iappPoolMemberTable":{"name":"","columns":null}}}}]}/app
I ran out of anything helpful with debug statements or documentation about the closed source go binary...
io:$ kubectl get services/av-service -o wide
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
av-service 10.25.104.158 80:30000/TCP 2h app=av
io:$ kubectl get nodes -o jsonpath='{.items[*].status.addresses[?(@.type=="InternalIP")].address}'
10.25.82.193 10.25.82.65 10.25.83.54
Is this the right place to ask about what possible reasons the controller is crashing here?
- Rick_SalsaRet. Employee
You're configmap looks ok, but can you post the output of that file you applied to your cluster?
kubectl get configmap ${F5_CONFIGMAP} -o yaml
Also, what version of Kubernetes are you running? v1.6?
- Roman_Zelenaj_1Nimbostratus
Hello everyone,
i was able to make work of creating VS on F5 with Kubernetes 1.6.4 by setting permissive RBAC settings using this command.
kubectl create clusterrolebinding add-on-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:default
It can be seen at the end of this document
Edit: It is possible that it is not a complete fix. I saw some messages in syslog about the pool ip addresses. Now I see a virtual server in F5, but still no pool members. I'm using same ConfigMap that is in this thread.
Edit2: The RBAC setting did not help. If anyone has any suggestions, i'm willing to test them.
- rsal_79565Historic F5 Account
The F5 container connector doesn't support v1.6 just yet. Work is happening now to add support for this. Mainly because v1.6.x requires RBAC. So the k8s-bigip-ctlr needs to have a cluster role in order to access the API server.
I can update you as the dev team makes progress on this.
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com