-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Migrate service discovery to EndpointSlices #2752
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Endpoints are deprecated in k8s 1.33, to avoid warnings and stay upto-date with upstream k8s we need to move to EndpointSlices. This commit sets the field `serviceDiscoveryRole` to `EndpointSlices` and updates the RBAC permissions on endpointslice resoures. Related-to prometheus-operator#2646 Signed-off-by: Jayapriya Pai <[email protected]> Signed-off-by: Simon Pasquier <[email protected]>
Signed-off-by: Jayapriya Pai <[email protected]>
Signed-off-by: Simon Pasquier <[email protected]>
philipgough
reviewed
Oct 2, 2025
docs/endpoints-migration.md
Outdated
| 1. The node_exporter and kubelet ServiceMonitors rely on the Prometheus operator's kubelet controller which manages the `kube-system/kubelet` Service. | ||
| 2. With `kube-prometheus` 0.17, the Prometheus operator starts with both `--kubelet-endpoints=true` and `--kubelet-endpointslice=true` to ensure that a) the operator synchronizes the EndpointSlice object(s) backing the `kube-system/kubelet` Service and b) Kubernetes stops mirroring the `kube-system/kubelet` Endpoints object to EndpointSlice object(s) (otherwise the operator and kube-controller-manager would fight for the same resources). | ||
| 3. After verifying that all targets are correctly discovered, it is ok to modify the operator's deployment and use `--kubelet-endpoints=false` instead. This will become the default in a future version of `kube-prometheus`. | ||
| 4. The the `kube-system/kubelet` Endpoints object should be removed manually. |
Contributor
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.
Suggested change
| 4. The the `kube-system/kubelet` Endpoints object should be removed manually. | |
| 4. The `kube-system/kubelet` Endpoints object should be removed manually. |
philipgough
reviewed
Oct 2, 2025
Contributor
philipgough
left a comment
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.
Small typo but looks good!
Signed-off-by: Simon Pasquier <[email protected]>
slashpai
approved these changes
Oct 3, 2025
d98c08e
into
prometheus-operator:main
10 of 11 checks passed
This was referenced Oct 3, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Rebase and adaptation of #2675
Type of change
What type of changes does your code introduce to the kube-prometheus? Put an
xin the box that apply.CHANGE(fix or feature that would cause existing functionality to not work as expected)FEATURE(non-breaking change which adds functionality)BUGFIX(non-breaking change which fixes an issue)ENHANCEMENT(non-breaking change which improves existing functionality)NONE(if none of the other choices apply. Example, tooling, build system, CI, docs, etc.)Changelog entry
Please put a one-line changelog entry below. Later this will be copied to the changelog file.