MeshService Resource Configuration

This topic provides full details about the MeshService resource.

Introduction

A MeshService is a resource in the Kubernetes cluster that enables Kubernetes configuration models, such as HTTPRoute and TCPRoute, to reference services that only exist in Consul. A MeshService represents a service in the Consul service mesh outside the Kubernetes cluster where Consul API Gateway is deployed. The service represented by the MeshService resource must either be in the same Consul datacenter as the Kubernetes cluster or imported from a peered Consul cluster.

Configuration Model

The following outline shows how to format the configurations in the MeshService object. Click on a property name to view details about the configuration.

  • name: string | required
  • peer: string | optional

Specification

This topic provides details about the configuration parameters.

name

Specifies the name of the service in the Consul service mesh to send traffic to.

  • Type: string
  • Required: required

peer

Specifies the name of the peered Consul cluster that exported the service. If not specified, Consul defaults to the local datacenter.

You must apply a ServiceResolver for the referenced service. The ServiceResolver configuration entry enables Consul to resolve routes to upstream service instances.

  • Type: string
  • Required: optional

Example Configuration

The following example creates a mesh service called example-mesh-service. Routes that use example-mesh-service as a backend route traffic to the Consul service in the local datacenter named echo.

MeshService - 图1

meshservice.yaml

  1. apiVersion: api-gateway.consul.hashicorp.com/v1alpha1
  2. kind: MeshService
  3. metadata:
  4. name: example-mesh-service
  5. spec:
  6. name: echo