-
Notifications
You must be signed in to change notification settings - Fork 535
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
Add statefulset for metrics generator #2533
Conversation
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.
The explanation sounds good to me, very detailed. The migration plan makes sense 👍
It's missing the new statefulset in jsonnet-compiled
, no? Otherwise, it LGTM
Nice, thanks @mapno. I just needed to add that new file. I've pushed a commit for this. Let me know if you spot anything else I missed. |
What this PR does:
Updates
microservices
jsonnet to support astatefulset
for themetrics_generator
component.BREAKING CHANGE:
To support a new
processor
, the metrics generator has been converted from adeployment
into astatefulset
with a PVC. This will require manual intervention in order to migrate successfully and avoid downtime. Note that currently both adeployment
and astatefulset
will be managed by the jsonnet for a period of time, after which we will delete thedeployment
from this repo and you will need to delete user-side references to thetempo_metrics_generator_deployment
, as well as delete thedeployment
itself.First, just as with the
ingester
configuration, you will need to specify apvc_size
and apvc_storage_class
for themetrics_generator
PVC configuration. For example:Any user-side overrides for the
tempo_metrics_generator_deployment
need to be considered for thetempo_metrics_generator_statefulset
object.Currently, the
deplyment
replicas are set to0
by default in the jsonnet, while thestatefulset
inherits replica configuration from the$._config
object. To keep thedeployment
replicas around and make the transition without an outage, you can keep the replicas by overriding the following key.This will maintain the same number of replicas you have specified in the configuration for the
statefulset
. Note that this will be approximately double the resource requirements for a period of time while you stabilize the ring and prepare to scale down thedeployment
.You can check memberlist either with the
tempo_memberlist_client_cluster_members_count
metric, or you can visit thehttp://tempo:3200/memberlist
page to see that metrics generator instances for both thestatefulset
anddeployment
are available.Once all instances are healthy, you can begin to scale down your
deployment
and delete the above reference to thetempo_metrics_generator_deployment
.Without handling the above, a brief outage will be incurred for the metrics-generator, but everything should be functioning again once the
statefulset
for the metrics-generator is up and available.Checklist
CHANGELOG.md
updated - the order of entries should be[CHANGE]
,[FEATURE]
,[ENHANCEMENT]
,[BUGFIX]