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

[helm] Create Kubernetes Service for Agent Presets #6012

Open
pkoutsovasilis opened this issue Nov 13, 2024 · 4 comments
Open

[helm] Create Kubernetes Service for Agent Presets #6012

pkoutsovasilis opened this issue Nov 13, 2024 · 4 comments
Labels
enhancement New feature or request Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team

Comments

@pkoutsovasilis
Copy link
Contributor

Describe the enhancement:
Enhance the Helm chart to automatically create Kubernetes services tied to specific agent presets. These services will serve as dedicated entry points for integrations that operate in a push-based manner. This change will provide a structured and scalable way to manage and expose agent instances within the cluster.

Describe a specific use case for the enhancement or feature:
One primary use case is for push-type integrations, namely netflow, that can utilise a single Kubernetes service as a unified access point. By supporting creating such a service linked to an agent preset, users can easily scale these agents, simplifying both deployment and operational management.

What is the definition of done?

  • The Helm chart can generate a Kubernetes service for agent presets.
  • Examples are updated to explain how to to configure such scenario.
@pkoutsovasilis pkoutsovasilis added enhancement New feature or request Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team labels Nov 13, 2024
@elasticmachine
Copy link
Contributor

Pinging @elastic/elastic-agent-control-plane (Team:Elastic-Agent-Control-Plane)

@pkoutsovasilis
Copy link
Contributor Author

pkoutsovasilis commented Nov 13, 2024

@cmacknz @ycombinator @swiatekm any thoughts on this enhancement? 🙂

@swiatekm
Copy link
Contributor

As a rule, should these Services default to Node-local routing by enabling the internal traffic policy? If agent is running as a DaemonSet, that would ensure behavior consistent with other Node-scoped integrations.

@pkoutsovasilis
Copy link
Contributor Author

pkoutsovasilis commented Nov 13, 2024

My idea is to avoid defaults; instead, users should configure service creation for specific presets as needed. The type and additional fields for each service would be based on the values provided by users. For instance, in the netflow case, the integration needs to listen on a specific port for incoming data. My proposal is to create a deployment-type agent preset for netflow and supply the necessary values.yaml to generate through the Helm chart a {ClusterIP|LoadBalancer|NodePort} (ExternalName isn't that suitable in any of agent needs) service with the appropriate targetPort.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team
Projects
None yet
Development

No branches or pull requests

3 participants