-
Notifications
You must be signed in to change notification settings - Fork 448
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
Add k8s manifests to deploy stack along with Agent #89
Conversation
Signed-off-by: ChrsMark <chrismarkou92@gmail.com>
Wow, didn't expect this one, nice work! @ruflin apparently, it's a new kind of fleet agent usage :) Could you please add a README file with some commands to apply manifests? Also, I'm sure if I see a reason to put everything on the Kubernetes cluster (ES, Kibana, etc.). I thought the Elastic cluster could live aside and the agent monitor the Kubernetes API. |
Signed-off-by: ChrsMark <chrismarkou92@gmail.com>
Thank you for working on this! Are these minded for development or as a reference for users? I think it would worth adding these to agent docs, same way we have a |
Signed-off-by: ChrsMark <chrismarkou92@gmail.com>
@mtojek I added the READMe after playing a little bit and resolving a couple of issues.
Well, different Deployment options can be used for sure. ES, Kibana and Registry can be deployed everywhere as soon as they are accessible from Agent. In order to reproduce this env locally deploying everything on k8s seems to be the easiest way to avoid networking/accessibiltiy issues etc. Reasoning for running Agent on k8s: To add more to the above statement, In order to combine the above 2 different deployment strategies we could suggest that the users create 2 different configs in Ingest Manager one for the cluster-wide metrics and one for the metrics collected from each node. Then the singleton agent will be enrolled using the cluster-wide config while the Agents from the Daemonset Pods will be enrolled using the node-level config. Screenshot regarding the 2 configs: |
Well, for now it is aimed to be used for development reasons as part of #70. The goal is to use these in order to migrate the Kubernetes module/package. Then for sure we can provide the Note that Agent's manifest is still under "development" since I will need to add RBACs etc in order to make it capable to run Kubernetes module. |
Signed-off-by: ChrsMark <chrismarkou92@gmail.com>
Signed-off-by: ChrsMark <chrismarkou92@gmail.com>
To be honest, I would put/quote your comment (#89 (comment)) in the README file ;) By looking at all required permissions, limitations to run the agent outside of the cluster, I agree with you that's nearly impossible or at least not reasonable. I wonder if it shouldn't be responsibility of the agent team to support the k8s runtime. WDYT @ruflin? @ChrsMark do you need an approval or do you prefer to add more changes here? |
When we have something stable we can include the reasoning/explanation of deployment approach to the respective docs, READMEs etc.
Not mergable yet. |
If it doesn't introduce any complications, please convert it to draft. |
As soon as we make this available to our customers, the agent team should probably own this. But at the moment this is focused on testing and local usage so the integrations repository sounds like a good place to kick this off. |
Note that in order to release the package we most probably need to provide the k8s manifests to the users too, along with usage docs. |
Signed-off-by: ChrsMark <chrismarkou92@gmail.com>
This one seems to be ok to be merged in this repo for testing/development purposes. @exekias if you have the time to check for anything that could be missing, it would be great. Opening this for review for now. |
Signed-off-by: ChrsMark <chrismarkou92@gmail.com>
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.
Thanks!
Could you please make sure, that's aligned to latest updates to testing/environment? There was an issue with missing "encryptionKey".
Signed-off-by: ChrsMark <chrismarkou92@gmail.com>
Updated the manifests according to the latest updates of testing/env. |
This PR adds Kubernetes manifests to be used when Agent is needed to run in k8s along with Elastic Stack.
Quick start:
Having a k8s cluster running run
kubectl apply -f snapshot.yml
and after the stack is ready enrol the Agent withkubectl apply -f agent.yml