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

Documentation for running ECK, Elasticsearch, and Kibana on GKE Autopilot #6760

Merged
merged 13 commits into from
May 23, 2023

Conversation

naemono
Copy link
Contributor

@naemono naemono commented May 4, 2023

related #6713

This change adds a page to our documentation that discusses running ECK, Elasticsearch and Kibana on GKE Autopilot clusters. Any of the other supported stack (Beat/Agent/etc) aren't discussed at this time as we have not verified their functionality as of yet.

This also adjusts the virtual memory documentation to note that there is an additional option for setting max_map_count.

Signed-off-by: Michael Montgomery <mmontg1@gmail.com>

Also update virtual memory documentation.

Signed-off-by: Michael Montgomery <mmontg1@gmail.com>

Add docs to create ns.
Add missing EOF

Signed-off-by: Michael Montgomery <mmontg1@gmail.com>

Add Kibana docs for autopilot.
Reference autopilot doc in index.

Signed-off-by: Michael Montgomery <mmontg1@gmail.com>
@naemono naemono added >docs Documentation v2.8.0 labels May 4, 2023
naemono and others added 2 commits May 5, 2023 08:47
Co-authored-by: Michael Morello <michael.morello@gmail.com>
Signed-off-by: Michael Montgomery <mmontg1@gmail.com>
@naemono
Copy link
Contributor Author

naemono commented May 9, 2023

@barkbay I believe I've addressed your concerns in your previous review. I also added a section detailing the installation of Elastic Agent, but not the other stack components. Let me know if we should document all of them here.

Signed-off-by: Michael Montgomery <mmontg1@gmail.com>
docs/advanced-topics/gke-autopilot.asciidoc Outdated Show resolved Hide resolved
docs/advanced-topics/gke-autopilot.asciidoc Outdated Show resolved Hide resolved
test/e2e/run.sh Outdated Show resolved Hide resolved
docs/advanced-topics/gke-autopilot.asciidoc Outdated Show resolved Hide resolved
Copy link
Collaborator

@pebrc pebrc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would focus on the essentials here. Also if I look at this documentation in its rendered form then most important part (the virtual memory bit) can be easily overlooked as it does not get its own sub-chapter
Screenshot 2023-05-15 at 15 09 40

If I understand correctly what is necessary to run Elasticsearch on autopilot then it's:

  1. set virtual memory with the white-listed DaemonSet
  2. you are done (but you could set this init container to improve the ES startup experience)

The extra init container to wait for it to be set is a nice to have and can be mentioned but should be qualified as such.

  1. Agent (but also Beats?)
    Here I would describe the necessary changes (no hostpath volumes, but one can use ephemeral volumes or ephemeral storage requests instead, and you mentioned something about CPU limits) and link to an example recipe in the recipe folder

Let me know if I got something wrong.

docs/advanced-topics/gke-autopilot.asciidoc Outdated Show resolved Hide resolved
docs/advanced-topics/gke-autopilot.asciidoc Outdated Show resolved Hide resolved
docs/advanced-topics/gke-autopilot.asciidoc Outdated Show resolved Hide resolved
docs/advanced-topics/gke-autopilot.asciidoc Outdated Show resolved Hide resolved
Removing the test/e2e/run.sh modification, as it wasn't relevant to this PR.

Signed-off-by: Michael Montgomery <mmontg1@gmail.com>
@naemono
Copy link
Contributor Author

naemono commented May 15, 2023

  1. Agent (but also Beats?)
    Here I would describe the necessary changes (no hostpath volumes, but one can use ephemeral volumes or ephemeral storage requests instead, and you mentioned something about CPU limits) and link to an example recipe in the recipe folder

I'm working through adding these additional bits to gke-autopilot.asciidoc....

I'll also work through testing some of the beats examples and getting recipes for them...

Signed-off-by: Michael Montgomery <mmontg1@gmail.com>
Update gke autpilot docs

Signed-off-by: Michael Montgomery <mmontg1@gmail.com>
Signed-off-by: Michael Montgomery <mmontg1@gmail.com>
@naemono
Copy link
Contributor Author

naemono commented May 16, 2023

@pebrc @barkbay I've tested multiple Agent configurations in Autopilot, and a Metricsbeat configuration and added them as example manifests. I've also updated the GKE Autopilot documentation for Agent/Beats noting the volume limitations, and linking to the recipes.


[source,yaml,subs="attributes,+macros"]
----
cat $$<<$$EOF | kubectl apply -n elastic -f -
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
cat $$<<$$EOF | kubectl apply -n elastic -f -
cat $$<<$$EOF | kubectl apply -n elastic-system -f -

docs/advanced-topics/gke-autopilot.asciidoc Outdated Show resolved Hide resolved
Copy link
Contributor

@barkbay barkbay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should update config/recipes/autopilot/fleet-kubernetes-integration.yaml to include an explicit policy using policyID, see #6678

Added PolicyIDs to the fleet example for autopilot.
Removed the example for deploying Kibana.
Install daemonset to elastic-system namespace.
Move the note abut file system implementations to the top of the virt mem docs.

Signed-off-by: Michael Montgomery <mmontg1@gmail.com>
@naemono
Copy link
Contributor Author

naemono commented May 22, 2023

We should update config/recipes/autopilot/fleet-kubernetes-integration.yaml to include an explicit policy using policyID, see #6678

Thanks for noting this. I had missed this change.

@naemono
Copy link
Contributor Author

naemono commented May 22, 2023

@barkbay I believe I've updated all you had noted. Let me know if I missed anything.

Copy link
Contributor

@barkbay barkbay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

docs/advanced-topics/gke-autopilot.asciidoc Outdated Show resolved Hide resolved
docs/advanced-topics/gke-autopilot.asciidoc Outdated Show resolved Hide resolved
docs/advanced-topics/gke-autopilot.asciidoc Outdated Show resolved Hide resolved
naemono and others added 4 commits May 22, 2023 14:05
Co-authored-by: Michael Morello <michael.morello@gmail.com>
Signed-off-by: Michael Montgomery <mmontg1@gmail.com>
Co-authored-by: Michael Morello <michael.morello@gmail.com>
Co-authored-by: Michael Morello <michael.morello@gmail.com>
@naemono naemono merged commit 754eeba into elastic:main May 23, 2023
barkbay pushed a commit to barkbay/cloud-on-k8s that referenced this pull request May 23, 2023
* Initial version of autopilot documentation.
Signed-off-by: Michael Montgomery <mmontg1@gmail.com>
Co-authored-by: Michael Morello <michael.morello@gmail.com>
barkbay added a commit that referenced this pull request May 23, 2023
* Initial version of autopilot documentation.
Signed-off-by: Michael Montgomery <mmontg1@gmail.com>
Co-authored-by: Michael Morello <michael.morello@gmail.com>

Co-authored-by: Michael Montgomery <mmontg1@gmail.com>
@barkbay barkbay changed the title Initial version of GKE Autopilot documentation. Documentation for running ECK, Elasticsearch, and Kibana on GKE Autopilot May 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>docs Documentation v2.8.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants