Open
Description
Steps to reproduce the issue:
- minikube start --memory 8192 --cpus 8 --disk-size 80g
- minikube tunnel
- Create a Service my-svc with
type: LoadBalancer
- Observe
kubectl get service my-svc -o yaml
showsstatus.loadBalancer.ingress[0].ip
with the service's clusterIP - kubectl patch service my-svc --type=merge -p "spec: {type: ClusterIP}"
Actual:
status.loadBalancer.ingress[0].ip
remains.
Expected:
status.loadBalancer.ingress
should be removed.
This would help automated tests that need to work with both minikube and cloud k8s clusters like GKE, that test adding and removing external access on Service.
We took a look at LoadBalancerEmulator, and saw that it has a method cleanupService()
. However, it is only called on Services with type: LoadBalancer, and the cleanup methods are only called during shutdown.
Ideally, it seems like PatchServices should reconcile all Services to add or remove status.loadBalancer.ingress as appropriate.
Metadata
Metadata
Assignees
Labels
Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.Categorizes issue or PR as related to a bug.Indicates that an issue or PR should not be auto-closed due to staleness.Long-term support issues that can't be fixed in codeHigher priority than priority/awaiting-more-evidence.