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

etcd client and peer service label selector causes etcd compaction job pods to be included in its endpoint slices #914

Closed
unmarshall opened this issue Nov 12, 2024 · 0 comments
Labels
area/control-plane Control plane related kind/bug Bug status/closed Issue is closed (either delivered or triaged)

Comments

@unmarshall
Copy link
Contributor

How to categorize this issue?

/area control-plane
/kind bug

What happened:
Compaction controller creates a Job to run compaction based on event threshold. The labels on the pod that gets created has labels (see code).
When etcd controller creates resources for an Etcd cluster, then it creates a client service and a peer service.
The client and peer service has the following label selector:

  selector:
    app.kubernetes.io/managed-by: etcd-druid
    app.kubernetes.io/part-of: etcd-test

The above labels are also present on the pods that are started via the compaction Job. This results in compaction Job getting included in the endpoint slices as it gets selected due to the above selector along with the etcd statefulset pods. This causes API server to fail as it can potentially connect to the compaction job pod for etcd requests.

What you expected to happen:
etcd compaction job pods should never be included in the endpoint slices for etcd client and peer services.

How to reproduce it (as minimally and precisely as possible):
Deploy etcd-druid version v0.23.2. Trigger a compaction job and allow it to run for some time. In the mean time kill the API server pod and let it restart again and hope that it now connects to the compaction job pod.

Environment:

  • etcd-druid version: v0.23.2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/control-plane Control plane related kind/bug Bug status/closed Issue is closed (either delivered or triaged)
Projects
None yet
Development

No branches or pull requests

3 participants