-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[loki-distributed] manage compactor as statefulset #2747
Conversation
8f094b9
to
5c210b9
Compare
@zalegrala |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will introduce bugs if the compactor PVC is disabled which needs to be addressed, also please fix the copy-paste error.
- name: runtime-config | ||
configMap: | ||
name: {{ template "loki.fullname" . }}-runtime | ||
{{- if not .Values.ingester.persistence.enabled }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copy paste error
{{- if not .Values.ingester.persistence.enabled }} | |
{{- if not .Values.compactor.persistence.enabled }} |
{{- with .Values.compactor.extraVolumes }} | ||
{{- toYaml . | nindent 8 }} | ||
{{- end }} | ||
volumeClaimTemplates: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs a guard here in case persistence is not enabled or the list of volume claims is empty.
5177d2f
to
1dc5da6
Compare
@verejoel I have updated the code according to your review |
Thanks for the PR. What's the motivation to manage the compactor as a statefulset? Is this the recommendation from Loki? |
Hello @zalegrala 👋 I did that for two reasons:
The recommendation from loki is to have that component to be stateful (they do not mention statefulset or deployment + pvc) Cheers ☀️ |
Ah okay, I didn't realize the compactor was stateful but I suppose this makes sense since if the client doesn't stream. |
Signed-off-by: rasta-rocket <[email protected]>
5fc61b6
to
0f33126
Compare
Signed-off-by: rasta-rocket <[email protected]>
7f2c109
to
6a0d637
Compare
boltdb.shipper.compactor.working-directory was missing in grafana#2747 Signed-off-by: Julien Francoz <[email protected]>
boltdb.shipper.compactor.working-directory was missing in grafana#2747 Signed-off-by: Julien Francoz <[email protected]>
boltdb.shipper.compactor.working-directory was missing in grafana#2747 Signed-off-by: Julien Francoz <[email protected]>
boltdb.shipper.compactor.working-directory was missing in grafana#2747 Signed-off-by: Julien Francoz <[email protected]>
Hey there !
Small contribution here to allow users of the chart to manage the compactor as a statefulset
values.yaml
I set the compactor fieldKind
asStatefulset
starting now : this might break existing setup. I did that since Statefulset is kind of the default way to manage stateful software in k8s IMHO, but let me know what you think about it 😉If you have any question, do not hesitate to reach me 😉
Cheers ☀️