7 Internal Services and Load Balancing
This chapter covers
- Creating internal services
- How packets are routed in Kubernetes between virtual IP addresses of pods and services
- Discovering the IP address of internal services
- Configuring HTTP Load Balancers with Ingress
- Provisioning TLS certificates to create HTTPS endpoints
Internal services are a way to scale how you develop and service your application by splitting your application into multiple smaller services. These individual services can be on different development cycles (possibly by different teams) and use completely different languages and technology from each other. After all, as long as you can containerize it, you can run it in Kubernetes. No longer do you need to worry whether your application deployment platform can run what you need it to run.
In this chapter, we’ll look at how to configure and discover internal services in the cluster, as well as how Kubernetes gives each of these a cluster-local IP address and implements internal network routing to make them accessible from each other. We’ll also look at how you can expose multiple services on a single external IP using Ingress, and how it can handle TLS termination so you can offer https endpoints for your application, without needing to configure TLS certificates in your applications.
This chapter covers how to configure and discover internal services in your cluster, and how to expose multiple services on a single external IP using Ingress.