ExternalService and ZoneEgress

In scenarios when traffic to external services needs to be sent through a unique set of hosts you will configure ZoneEgress.

For example when there is:

  • disabled passthrough mode
  • ZoneEgress deployed
  • ExternalService configuration that allows communicating with https://example.com.

When application makes a request to https://example.com, it will be first routed to ZoneEgress and then to https://example.com. You can completely block your instances to communicate to things outside the mesh by disabling passthrough mode. In this setup, applications will only be able to communicate with other applications in the mesh or external-services via the ZoneEgress.

The ExternalService with the same kuma.io/service name cannot mix dns names and IP addresses of the endpoint. Example:

  ---
  type: ExternalService
  mesh: default
  name: example-1
  tags:
    kuma.io/service: example
    kuma.io/protocol: tcp
  networking:
    address: example.com:443
  ---
  type: ExternalService
  mesh: default
  name: example-2
  tags:
    kuma.io/service: example
    kuma.io/protocol: tcp
  networking:
    address: 192.168.0.1:443

The above configuration is incorrect and configuration generation will fail.

Configuration

Something wrong?

Help us make these docs great!

Kong Developer docs are open source. If you find these useful and want to make them better, contribute today!