Can someone give me list of Loki components that MUST be deployed in StatefulSet
(stateful) and which can be deployed in Deployment
(stateless)?
I see that in the documentation https://github.com/grafana/loki/blob/v2.8.3/docs/sources/fundamentals/architecture/components/_index.md the only thing they mention explicitly about stateless component is for Distributor and Query frontend, how about the rest?
There are 8 components and there is no explicit information which component must be deployed in stateful vs stateless mode:
- ingester ??
- distributor → stateless
- query-frontend → stateless
- query-scheduler ??
- querier ??
- index-gateway ??
- ruler ??
- compactor ??
Also, if it stateful component, does it need to be mounted at the same path volume? Or, I can mount it separately? For example, Ingester (I guess it must be stateful, because it manages WAL), only mount to /ingester-data
and Ruler should not have access to /ingester-data
because it has it own WAL directory.
PS: this post is unanswered Loki querier, StatefulSet vs Deployment so I post the similar question here so others can explicitly know how to properly deploy Loki in Microservices mode.