Skip to content

Allow disabling StatefulSet reconciliation based on resources drift #8049

@ringo-invisible

Description

@ringo-invisible

Component(s)

No response

What is missing? Please describe.

When running Prometheus Operator in a GKE Autopilot cluster, GKE has mutating webhooks that will modify workload's resource requests and limits to adjust to its internal policy that's not configurable.

Because of that, if GKE mutator decides to modify Prometheus statefulset, the Prometheus Operator will notice the drift and will revert this change, causing an endless loop of reconciliation because two mutators will compete over the same resource.

It would be good to have a configuration option to make Operator ignore changes in "resources".

Describe alternatives you've considered.

I've tried to set requests/limits defaults that will satisfy GKE mutator so that it doesn't try to change the statefulset, however one of the keys that GKE autopilot wants every resource to have is "ephemeral-storage" which Prometheus Operator does not set for config-reloader containers.

Environment Information.

Environment

Kubernetes Version:
Prometheus-Operator Version:

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions