Chapter 13. Integrating External Services with Kubernetes

In many of the chapters in this book, we’ve discussed how to build, deploy, and manage services in Kubernetes. However, the truth is that systems don’t exist in a vacuum, and most of the services that we build will need to interact with systems and services that exist outside of the Kubernetes cluster in which they’re running. This might be necessary because we are building new services being accessed by legacy infrastructure running in virtual or physical machines. Additionally, it might be because the services we are building need to access preexisting databases or other services that are running on physical infrastructure in an on-premises datacenter. Finally, you might have multiple Kubernetes clusters with services you need to interconnect. For all these reasons, the ability to expose, share, and build services that span the boundary of your Kubernetes cluster is an important part of building real-world applications.

Importing Services into Kubernetes

The most common pattern for connecting Kubernetes with external services consists of a Kubernetes Service that is consuming a service that exists outside of the Kubernetes cluster. Often, this is because Kubernetes is being used for new application development or is serving as an interface for a legacy resource like an on-premises database. In many existing applications, parts of the application are easier to move than others. For example, a database with mission-critical ...

Get Kubernetes Best Practices, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.