Registered Service
Services in the registry represent logically a service that can be running in different compute platforms and different locations. The same service could be running on different Kubernetes clusters at the same time, on VMS, etc. A service in the registry represents an aggregated and logical view for all those individual services, and provides high-level features such as aggregated metrics.
Port
Port exposed by a service. Registration RPC will complete the instances field by assigning the physical services FQNs.
Field | Description | Validation Rule |
number | uint32 | uint32 = { |
name | string | – |
instances | List of string | – |
RegisteredService
A service in the registry that represents an aggregated and logical view for all those individual services, and provides high-level features such as aggregated metrics.
Field | Description | Validation Rule |
fqn | string | – |
displayName | string | – |
etag | string | – |
description | string | – |
shortName | string | string = { |
hostname | string | – |
ports | List of tetrateio.api.tsb.registry.v2.Port | – |
subsets | List of string | – |
serviceType | tetrateio.api.tsb.registry.v2.ServiceType | enum = { |
instances | List of string | – |
externalAddresses | List of string | – |
state | tetrateio.api.tsb.registry.v2.State | enum = { |
source | string | string = { |
metrics | List of tetrateio.api.tsb.registry.v2.RegisteredService.MetricConfig | – |
MetricConfig
Configuration for metric aggregation
Field | Description | Validation Rule |
name | string | – |
description | string | – |
aggregationKey | string | – |
type | tetrateio.api.tsb.registry.v2.RegisteredService.MetricConfig.MetricType | – |
instance | string | – |
MetricType
MetricType denotes the relation of a metrics with a physical service instance.
Name | Number | Description |
SINGLE_INSTANCE | 0 | A single instance metric config belongs to an specific physical service instance. |
AGGREGATED | 1 | An aggregated metric config represents a set of physical services. |
ServiceType
ServiceType denotes the exposition of a service in the mesh.
Name | Number | Description |
INTERNAL | 0 | A regular service that is not directly exposed to the outside world. |
LOADBALANCER | 1 | A load balancer service running only the proxy as the workload. |
EXTERNAL | 2 | An external service (not in the mesh). |
State
State denotes how deep is the knowledge of a service by the mesh. Meaning that if a service can be controlled, observed or none of these.
Name | Number | Description |
REGISTERED | 0 | A registered service is a service that is known, but that cannot be observed (we can't get metrics for it) and cannot be controlled. |
OBSERVED | 1 | An observed service is a known service that we can have metrics for. For example, a service running the Skywalking agents. |
CONTROLLED | 2 | A controlled service is a service that is part of the mesh and has a proxy we can configure. |