Tempo-worker charm is configured to work in one of the pre-defined roles. Each tempo-worker application needs to have exactly one role enabled. If a worker application has more than 1 role enabled, it will stop serving requests.
To understand what roles are, see Understanding roles (Managing deployment of COS-Lite HA addons). See Tempo architecture for an explanation of each of the roles.
In order for the Tempo cluster to be functional in a microservice setup, multiple worker applications should be deployed and configured with the required roles. If a required role is missing, the cluster will be seen as inconsistent and will cease to work.
Role | Configuration property | Enabled by default | Required for microservices setup | Recommended scale | Notes |
---|---|---|---|---|---|
all |
role-all |
Yes | No | - | Mapped to scalable-single-binary in tempo configuration. Used for monolithic / scaled monolithic setup. |
querier |
role-querier |
No | Yes | 1 | |
query-frontend |
role-query-frontend |
No | Yes | 1 | |
ingester |
role-ingester |
No | Yes | 3 | |
distributor |
role-distributor |
No | Yes | 1 | |
compactor |
role-compactor |
No | Yes | 1 | |
metrics-generator |
role-metrics-generator |
No | No | 1 | Optional role. See this doc for more. |