Is this a bug report or a feature request?:
Bug report.
What happened:
Changing the type of a Service with a metallb-assigned IP from LoadBalancer to NodePort does not appear to release the IP allocation to revoke access from outside the cluster. Instead, the Service remains reachable on the metallb-allocated IP address on the Service's port.
What you expected to happen:
I expected the IP address to be returned to the pool; reachability of the Service to be lost; and the status field of the Service to be updated to remove the ingress IP address.
How to reproduce it (as minimally and precisely as possible):
Setup:
metal v0.4.3 running a K8S 1.8.6 cluster. Create a NodePort service. Edit the type to be LoadBalancer. metallb should assign an IP. Test connectivity and check the status field for the assigned IP.
After that has been successful, edit the Service and change type back to NodePort. The allocation will not appear to change, and in my case I was still able to connect to the service on its defined port using the IP address allocated by metallb.
Anything else we need to know?:
No.
Environment:
- MetalLB version: 0.4.3
- Kubernetes version: 1.8.6
- BGP router type/version: using ARP mode
- OS (e.g. from /etc/os-release): CentOS 7.4 (except for kernel)
- Kernel (e.g.
uname -a): 4.14.12-1.el7.elrepo.x86_64
Is this a bug report or a feature request?:
Bug report.
What happened:
Changing the type of a Service with a metallb-assigned IP from
LoadBalancertoNodePortdoes not appear to release the IP allocation to revoke access from outside the cluster. Instead, the Service remains reachable on the metallb-allocated IP address on the Service'sport.What you expected to happen:
I expected the IP address to be returned to the pool; reachability of the Service to be lost; and the
statusfield of the Service to be updated to remove the ingress IP address.How to reproduce it (as minimally and precisely as possible):
Setup:
metal v0.4.3 running a K8S 1.8.6 cluster. Create a NodePort service. Edit the
typeto beLoadBalancer. metallb should assign an IP. Test connectivity and check thestatusfield for the assigned IP.After that has been successful, edit the Service and change
typeback toNodePort. The allocation will not appear to change, and in my case I was still able to connect to the service on its definedportusing the IP address allocated by metallb.Anything else we need to know?:
No.
Environment:
uname -a): 4.14.12-1.el7.elrepo.x86_64