mirror of https://github.com/hashicorp/consul
59 lines
2.2 KiB
Markdown
59 lines
2.2 KiB
Markdown
---
|
|
layout: docs
|
|
page_title: MeshService Resource Configuration
|
|
description: >-
|
|
The `MeshService` resource specifies a service running outside the Kubernetes cluster but in the same datacenter where the Consul API Gateway is deployed. Learn about its configuration model and reference specifications.
|
|
---
|
|
|
|
# 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`](#name): string | required
|
|
- [`peer`](#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`](/consul/docs/connect/config-entries/service-resolver) 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`.
|
|
|
|
<CodeBlockConfig filename="meshservice.yaml">
|
|
|
|
```yaml hideClipboard
|
|
apiVersion: consul.hashicorp.com/v1alpha1
|
|
kind: MeshService
|
|
metadata:
|
|
name: example-mesh-service
|
|
spec:
|
|
name: echo
|
|
```
|
|
</CodeBlockConfig>
|