7 Internal services and load balancing

 

This chapter covers

  • Creating internal services
  • Routing packets 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 serve 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 programming 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 addressable by other Pods in the cluster. We’ll also look at how you can expose multiple services on a single external IP using Ingress and how Ingress can handle TLS termination so you can offer HTTPS endpoints for your application without needing to configure TLS certificates in your applications.

7.1 Internal services

7.1.1 Kubernetes cluster networking

7.1.2 Creating an internal service

7.1.3 Service discovery

7.2 Ingress: HTTP(S) load balancing

7.2.1 Securing connections with TLS

Summary

sitemap