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

Create unified svc for every vm agent shard #1110

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

moraresearch
Copy link

No description provided.

@Haleygo
Copy link
Contributor

Haleygo commented Jul 5, 2024

Hi,
Could you elaborate on why you need a separate service for each vmagent shard?

@moraresearch
Copy link
Author

Hello! the reason is that after their creation nothing targets to the shards, that is why I need to play lottery with trying to reach the shard that collects from the node I am interesting using svc that targets to all of them (and when we are speaking about really reasonably sharded vmagent in could be 5 new endpoints in a group of 8 thousand) or doing something manually.
But if there is a configured svc to every shard I can configure for example vmauth to proxy me between them using path and thats it.

Hi, Could you elaborate on why you need a separate service for each vmagent shard?

@Haleygo
Copy link
Contributor

Haleygo commented Jul 5, 2024

Thanks for the info!
But I don't think this should be done in chart, instead, it should be implemented by operator itself. I've created the issue in operator and will add it soon.

@f41gh7
Copy link
Collaborator

f41gh7 commented Jul 31, 2024

Hello! the reason is that after their creation nothing targets to the shards, that is why I need to play lottery with trying to reach the shard that collects from the node I am interesting using svc that targets to all of them (and when we are speaking about really reasonably sharded vmagent in could be 5 new endpoints in a group of 8 thousand) or doing something manually. But if there is a configured svc to every shard I can configure for example vmauth to proxy me between them using path and thats it.

Hi, Could you elaborate on why you need a separate service for each vmagent shard?

I don't think it's a good solution actually.

I suggest to use following workarounds:

  1. use vmagent web-ui to check targets picked and skipped by current shard. See this issue for details vmagent: allow viewing all target when in cluster mode VictoriaMetrics#4018
  2. create direct pod routes at vmauth with pod name routing (statefulmode is required for that at vmagent side and headless service https://kubernetes.io/docs/concepts/services-networking/service/#headless-services) like:
    dns-name-0 = vmagent-pod-0.sts-name.service-name.svc
    dns-name-1 = vmagent-pod-1.sts-name.service-name.svc
    etc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants