Skip to content

metallb does not deallocate a Service's IP on Service type change to non-LB #190

Description

@rsanders

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

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions