Connecting to external services

Use Mesh to connect applications that run on Kubernetes with services that run on non-Kubernetes infrastructure like VMs, bare metal servers, SaaS services, or mainframes. For example, you can connect a modern cluster-based front-end application to a VM-based database application. After you connect to external services, you can monitor traffic to the external service in the same integrated view as your other applications and services.

External services

An external service is a service that operates outside of a Kubernetes cluster, which applications within a Mesh network segment can access. External services operate in non-Kubernetes environments such as VMs, mainframes, load balancers, or bare metal servers.

You can also use Mesh to help migrate applications. For example, imagine that you connect a cluster-based front-end application to a VM-based database backend application. You can then deploy a containerized version of the backend to a cluster in parallel to the VM-based application. Mesh balances traffic from the front-end application between the containerized and VM-based backends. You can then remove the VM-based backend, which leaves you with a fully cluster-based system.

Registering external services

To connect a service that runs in a non-Kubernetes environment to a Mesh network segment, you must complete the following steps:

  1. Register an application
  2. Specify the service name
  3. Register an external deployment
  4. Register service endpoints for the external service

When you register an external service endpoint, you provide one or more IP addresses or hostnames as targets to forward traffic to. You can provide a mixture of IP addresses and hostnames. Mesh uses that information to configure the appropriate gateway to forward traffic to the external service. You can update the IP addresses and hostnames of a service endpoint.