We have several deployments running in Google Kubernetes. Most of them are web services set up with the default configuration, so they have a public IPv4 address which is served by a TCP load balancer.
After realizing we would have far better monitoring capabilities if we had ingresses set up instead, I started adding them for a few services. This went smooth as heck, after pointing the DNS record to the new IP all traffic came in via the ingress instead.
This went well until our IP quota was exceeded, as the old LBs still exist and block an IP address. Now I could simply delete the load balancer, but I don't really understand the distinction between services, load balancers and how it's all wired up to Kubernetes. I'm a little afraid I'd break either service availability, rolling releases or everything at once.
How can I move from default Kubernetes load balancing to an Ingress in production and free the public IP address in the process?