Skip to content
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

[tempo-distributed] add persistentVolumeClaimRetentionPolicy for ingester #3419

Closed
wants to merge 5 commits into from
Closed
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions charts/tempo-distributed/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -539,10 +539,13 @@ The memcached default args are removed and should be provided manually. The sett
| ingester.initContainers | list | `[]` | |
| ingester.nodeSelector | object | `{}` | Node selector for ingester pods |
| ingester.persistence.annotations | object | `{}` | Annotations for ingester's persist volume claim |
| ingester.persistence.enableStatefulSetAutoDeletePVC | bool | `false` | Enable StatefulSetAutoDeletePVC feature |
| ingester.persistence.enabled | bool | `false` | Enable creating PVCs which is required when using boltdb-shipper |
| ingester.persistence.inMemory | bool | `false` | use emptyDir with ramdisk instead of PVC. **Please note that all data in ingester will be lost on pod restart** |
| ingester.persistence.size | string | `"10Gi"` | Size of persistent or memory disk |
| ingester.persistence.storageClass | string | `nil` | Storage class to be used. If defined, storageClassName: <storageClass>. If set to "-", storageClassName: "", which disables dynamic provisioning. If empty or set to null, no storageClassName spec is set, choosing the default provisioner (gp2 on AWS, standard on GKE, AWS, and OpenStack). |
| ingester.persistence.whenDeleted | string | `"Retain"` | |
| ingester.persistence.whenScaled | string | `"Retain"` | |
| ingester.podAnnotations | object | `{}` | Annotations for ingester pods |
| ingester.podLabels | object | `{}` | Labels for ingester pods |
| ingester.priorityClassName | string | `nil` | The name of the PriorityClass for ingester pods |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,15 @@ spec:
{{- include "ingester.selectorLabels" $dict | nindent 6}}
serviceName: ingester
podManagementPolicy: Parallel
{{- if and (semverCompare ">= 1.23-0" .Capabilities.KubeVersion.Version) (.Values.ingester.persistence.enableStatefulSetAutoDeletePVC) }}
{{/*
Data on the read nodes is easy to replace, so we want to always delete PVCs to make
operation easier, and will rely on re-fetching data when needed.
*/}}
persistentVolumeClaimRetentionPolicy:
whenDeleted: {{ .Values.ingester.persistence.whenDeleted }}
whenScaled: {{ .Values.ingester.persistence.whenScaled }}
{{- end }}
updateStrategy:
{{- if .Values.ingester.zoneAwareReplication.enabled }}
type: OnDelete
Expand Down
4 changes: 4 additions & 0 deletions charts/tempo-distributed/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,10 @@ ingester:
storageClass: null
# -- Annotations for ingester's persist volume claim
annotations: {}
# -- Enable StatefulSetAutoDeletePVC feature
enableStatefulSetAutoDeletePVC: false
whenDeleted: Retain
whenScaled: Retain
config:
# -- Number of copies of spans to store in the ingester ring
replication_factor: 3
Expand Down
Loading