Recently I upgraded NSX ALB from 20.1.4 to 20.1.5 in my lab and observed weird things whenever I attempted to deploy/delete any Kubernetes workload of type LoadBalancer.
The Issue
On deploying a new K8 application, AKO was unable to create a load balancer for the application. In NSX ALB UI, I can see that a pool has been created and a VIP assigned but no VS is present. I have also verified that the ‘ako-essential’ role has the necessary permission “PERMISSION_VIRTUALSERIVCE” to create any new VS.
On attempting to delete a K8 application, the application got deleted from the TKG side, but it left lingering items (VS, Pools, etc) in the ALB UI. To investigate more on the issue, I manually tried deleting the server pool and captured the output using the browser network inspect option.
As expected the delete operation failed with the error that the object that you are trying to delete is associated with ‘L4PolicySet’
1 2 3 4 5 6 7 |
Request URL: https://192.168.15.20/api/pool/pool-18629d29-535a-49e5-93b5-dc2a4589374b Request Method: DELETE { "error":"Cannot delete, object is referred by: ['L4PolicySet tkc-wld01--default-my-service']", "obj_name":"tkc-wld01--default-my-service--8080" } |
But the l4policyset was empty