diff --git a/docs/en/ingest-management/elastic-agent/example-kubernetes-fleet-managed-agent-helm.asciidoc b/docs/en/ingest-management/elastic-agent/example-kubernetes-fleet-managed-agent-helm.asciidoc new file mode 100644 index 000000000..f7f78b9b3 --- /dev/null +++ b/docs/en/ingest-management/elastic-agent/example-kubernetes-fleet-managed-agent-helm.asciidoc @@ -0,0 +1,152 @@ +[[example-kubernetes-fleet-managed-agent-helm]] += Example: Install {fleet}-managed {agent} on {k8s} using Helm + +preview::[] + +This example demonstrates how to install {fleet}-managed {agent} on a {k8s} system using a Helm chart, gather {k8s} metrics and send them to an {es} cluster in {ecloud}, and then view visualizations of those metrics in {kib}. + +For an overview of the {agent} Helm chart and its benefits, refer to <>. + +This guide takes you through these steps: + +* <> +* <> +* <> + + +[discrete] +[[agent-fleet-managed-helm-example-prereqs]] +=== Prerequisites + +To get started, you need: + +* A local install of the link:https://helm.sh/[Helm] {k8s} package manager. +* An link:{ess-trial}[{ecloud}] hosted {es} cluster on version 8.16 or higher. +* An active {k8s} cluster. +* A local clone of the link:https://github.com/elastic/elastic-agent/tree/8.16[elastic/elastic-agent] GitHub repository. Make sure to use the `8.16` branch to ensure that {agent} has full compatibility with the Helm chart. + +[discrete] +[[agent-fleet-managed-helm-example-install-agent]] +=== Install {agent} + +. Open your {ecloud} deployment, and from the navigation menu select **Fleet**. +. From the **Agents** tab, select **Add agent**. +. In the **Add agent** UI, specify a policy name and select **Create policy**. Leave the **Collect system logs and metrics** option selected. +. Scroll down in the **Add agent** flyout to the **Install Elastic Agent on your host** section. +. Select the **Linux TAR** tab and copy the values for `url` and `enrollment-token`. You'll use these when you run the `helm install` command. +. Open a terminal shell and change into a directory in your local clone of the `elastic-agent` repo. +. Copy this command. ++ +[source,sh] +---- +helm install demo ./deploy/helm/elastic-agent \ +--set agent.fleet.enabled=true \ +--set agent.fleet.url= \ +--set agent.fleet.token= \ +--set agent.fleet.preset=perNode +---- ++ +Note that the command has these properties: + +* `helm install` runs the Helm CLI install tool. +* `demo` gives a name to the installed chart. You can choose any name. +* `./deploy/helm/elastic-agent` is a local path to the Helm chart to install (in time it's planned to have a public URL for the chart). +* `--set agent.fleet.enabled=true` enables {fleet}-managed {agent}. The CLI parameter overrides the default `false` value for `agent.fleet.enabled` in the {agent} link:https://github.com/elastic/elastic-agent/blob/main/deploy/helm/elastic-agent/values.yaml[values.yaml] file. +* `--set agent.fleet.url=` sets the address where {agent} will connect to {fleet} in your {ecloud} deployment, over port 443 (again, overriding the value set by default in the {agent} link:https://github.com/elastic/elastic-agent/blob/main/deploy/helm/elastic-agent/values.yaml[values.yaml] file). +* `--set agent.fleet.token=` sets the enrollment token that {agent} uses to authenticate with {fleet}. +* `--set agent.fleet.preset=perNode` enables {k8s} metrics on `per node` basis. You can alternatively set cluster wide metrics (`clusterWide`) or kube-state-metrics (`ksmSharded`). ++ +-- +TIP: For a full list of all available YAML settings and descriptions, refer to the link:https://github.com/elastic/elastic-agent/tree/main/deploy/helm/elastic-agent[{agent} Helm Chart Readme]. +-- +. Update the command to replace: +.. `` with the URL that you copied earlier. +.. `` with the enrollment token that you copied earlier. ++ +After your updates, the command should look something like this: ++ +[source,sh] +---- +helm install demo ./deploy/helm/elastic-agent \ +--set agent.fleet.enabled=true \ +--set agent.fleet.url=https://256575858845283fxxxxxxxd5265d2b4.fleet.us-central1.gcp.foundit.no:443 \ +--set agent.fleet.token=eSVvFDUvSUNPFldFdhhZNFwvS5xxxxxxxxxxxxFEWB1eFF1YedUQ1NWFXwr== \ +--set agent.fleet.preset=perNode +---- + +. Run the command. ++ +The command output should confirm that {agent} has been installed: ++ +[source,sh] +---- +... +Installed agent: + - perNode [daemonset - managed mode] +... +---- + +. Run the `kubectl get pods -n default` command to confirm that the {agent} pod is running: ++ +[source,sh] +---- +NAME READY STATUS RESTARTS AGE +agent-pernode-demo-86mst 1/1 Running 0 12s +---- + +. In the **Add agent** flyout, wait a minute or so for confirmation that {agent} has successfully enrolled with {fleet} and that data is flowing: ++ +[role="screenshot"] +image::images/helm-example-nodes-enrollment-confirmation.png[Screen capture of Add Agent UI showing that the agent has enrolled in Fleet] + +. In {fleet}, open the **Agents** tab and see that an **Agent-pernode-demo-#####** agent is running. + +. Select the agent to view its details. + +. On the **Agent details** tab, on the **Integrations** pane, expand `system-1` to confirm that logs and metrics are incoming. You can click either the `Logs` or `Metrics` link to view details. ++ +[role="screenshot"] +image::images/helm-example-nodes-logs-and-metrics.png[Screen capture of the Logs and Metrics view on the Integrations pane] + + +[discrete] +[[agent-fleet-managed-helm-example-install-integration]] +=== Install the Kubernetes integration + +Now that you've {agent} and data is flowing, you can set up the {k8s} integration. + +. In your {ecloud} deployment, from the {kib} menu open the **Integrations** page. +. Run a search for `Kubernetes` and then select the {k8s} integration card. +. On the {k8s} integration page, click **Add Kubernetes** to add the integration to your {agent} policy. +. Scroll to the bottom of **Add Kubernetes integration** page. Under **Where to add this integration?** select the **Existing hosts** tab. On the **Agent policies** menu, select the agent policy that you created previously in the <> steps. ++ +You can leave all of the other integration settings at their default values. +. Click **Save and continue**. When prompted, select to **Add Elastic Agent later** since you've already added it using Helm. +. On the {k8s} integration page, open the **Assets** tab and select the **[Metrics Kubernetes] Pods** dashboard. ++ +On the dashboard, you can view the status of your {k8s} pods, including metrics on memory usage, CPU usage, and network throughput. ++ +[role="screenshot"] +image::images/helm-example-fleet-metrics-dashboard.png[Screen capture of the Metrics Kubernetes pods dashboard] + +You've successfully installed {agent} using Helm, and your {k8s} metrics data is available for viewing in {kib}. + +[discrete] +[[agent-fleet-managed-helm-example-tidy-up]] +=== Tidy up + +After you've run through this example, run the `helm uninstall` command to uninstall {agent}. + +[source,sh] +---- +helm uninstall demo +---- + +The uninstall should be confirmed as shown: + +[source,sh] +---- +release "demo" uninstalled +---- + +As a reminder, for full details about using the {agent} Helm chart refer to the link:https://github.com/elastic/elastic-agent/tree/main/deploy/helm/elastic-agent[{agent} Helm Chart Readme]. diff --git a/docs/en/ingest-management/elastic-agent/example-kubernetes-standalone-agent-helm.asciidoc b/docs/en/ingest-management/elastic-agent/example-kubernetes-standalone-agent-helm.asciidoc new file mode 100644 index 000000000..d7626ae81 --- /dev/null +++ b/docs/en/ingest-management/elastic-agent/example-kubernetes-standalone-agent-helm.asciidoc @@ -0,0 +1,290 @@ +[[example-kubernetes-standalone-agent-helm]] += Example: Install standalone {agent} on Kubernetes using Helm + +preview::[] + +This example demonstrates how to install standalone {agent} on a Kubernetes system using a Helm chart, gather Kubernetes metrics and send them to an {es} cluster in {ecloud}, and then view visualizations of those metrics in {kib}. + +For an overview of the {agent} Helm chart and its benefits, refer to <>. + +This guide takes you through these steps: + +* <> +* <> +* <> +* <> + +[discrete] +[[agent-standalone-helm-example-prereqs]] +=== Prerequisites + +To get started, you need: + +* A local install of the link:https://helm.sh/[Helm] {k8s} package manager. +* An link:{ess-trial}[{ecloud}] hosted {es} cluster on version 8.16 or higher. +* An <>. +* An active {k8s} cluster. +* A local clone of the link:https://github.com/elastic/elastic-agent/tree/8.16[elastic/elastic-agent] GitHub repository. Make sure to use the `8.16` branch to ensure that {agent} has full compatibility with the Helm chart. + +[discrete] +[[agent-standalone-helm-example-install]] +=== Install {agent} + +. Open your {ecloud} deployment, and from the navigation menu select **Manage this deployment**. +. In the **Applications** section, copy the {es} endpoint and make a note of the endpoint value. +. Open a terminal shell and change into a directory in your local clone of the `elastic-agent` repo. +. llowCopy this command. ++ +[source,sh] +---- +helm install demo ./deploy/helm/elastic-agent \ +--set kubernetes.enabled=true \ +--set outputs.default.type=ESPlainAuthAPI \ +--set outputs.default.url=:443 \ +--set outputs.default.api_key="API_KEY" +---- ++ +Note that the command has these properties: + +* `helm install` runs the Helm CLI install tool. +* `demo` gives a name to the installed chart. You can choose any name. +* `./deploy/helm/elastic-agent` is a local path to the Helm chart to install (in time it's planned to have a public URL for the chart). +* `--set kubernetes.enabled=true` enables the {k8s} integration. The CLI parameter overrides the default `false` value for `kubernetes.enabled` in the {agent} link:https://github.com/elastic/elastic-agent/blob/main/deploy/helm/elastic-agent/values.yaml[values.yaml] file. +* `--set outputs.default.type=ESPlainAuthAPI` sets the authentication method for the {es} output to require an API key (again, overriding the value set by default in the {agent} link:https://github.com/elastic/elastic-agent/blob/main/deploy/helm/elastic-agent/values.yaml[values.yaml] file). +* `--set outputs.default.url=:443` sets the address of your {ecloud} deployment, where {agent} will send its output over port 443. +* `--set outputs.default.api_key="API_KEY"` sets the API key that {agent} will use to authenticate with your {es} cluster. ++ +-- +TIP: For a full list of all available YAML settings and descriptions, refer to the link:https://github.com/elastic/elastic-agent/tree/main/deploy/helm/elastic-agent[{agent} Helm Chart Readme]. +-- +. Update the command to replace: +.. `` with the {es} endpoint value that you copied earlier. +.. `` with your API key name. ++ +After your updates, the command should look something like this: ++ +[source,sh] +---- +helm install demo ./deploy/helm/elastic-agent \ +--set kubernetes.enabled=true \ +--set outputs.default.type=ESPlainAuthAPI \ +--set outputs.default.url=https://demo.es.us-central1.gcp.foundit.no:443 \ +--set outputs.default.api_key="A6ecaHNTJUFFcJI6esf4:5HJPxxxxxxxPS4KwSBeVEs" +---- + +. Run the command. ++ +The command output should confirm that three {agents} have been installed as well as the {k8s} integration: ++ +[source,sh] +---- +... +Installed agents: + - clusterWide [deployment - standalone mode] + - ksmSharded [statefulset - standalone mode] + - perNode [daemonset - standalone mode] + +Installed integrations: + - kubernetes [built-in chart integration] +... +---- + +. Run the `kubectl get pods -n default` command to confirm that the {agent} pods are running: ++ +[source,sh] +---- +NAME READY STATUS RESTARTS AGE +agent-clusterwide-demo-77c65f6c7b-trdms 1/1 Running 0 5m18s +agent-ksmsharded-demo-0 2/2 Running 0 5m18s +agent-pernode-demo-c7d75 1/1 Running 0 5m18s +---- + +. In your {ecloud} deployment, from the {kib} menu open the **Integrations** page. +. Run a search for `Kubernetes` and then select the {k8s} integration card. +. On the {k8s} integration page, select **Install Kubernetes assets**. This installs the dashboards, {es} indexes, and other assets used to monitor your {k8s} cluster. +. On the {k8s} integration page, open the **Assets** tab and select the **[Metrics Kubernetes] Nodes** dashboard. ++ +On the dashboard, you can view the status of your {k8s} nodes, including metrics on memory, CPU, and filesystem usage, network throughput, and more. ++ +[role="screenshot"] +image::images/helm-example-nodes-metrics-dashboard.png[Screen capture of the Metrics Kubernetes nodes dashboard] + +. On the {k8s} integration page, open the **Assets** tab and select the **[Metrics Kubernetes] Pods** dashboard. As with the nodes dashboard, on this dashboard you can view the status of your {k8s} pods, including various metrics on memory, CPU, and network throughput. ++ +[role="screenshot"] +image::images/helm-example-pods-metrics-dashboard.png[Screen capture of the Metrics Kubernetes pods dashboard] + +[discrete] +[[agent-standalone-helm-example-upgrade]] +=== Upgrade your {agent} configuration + +Now that you have {agent} installed, collecting, and sending data successfully, let's try changing the agent configuration settings. + +In the previous install example, three {agent} nodes were installed. One of these nodes, `agent-ksmsharded-demo-0`, is installed to enable the link:https://github.com/kubernetes/kube-state-metrics[kube-state-metrics] service. Let's suppose that you don't need those metrics and would like to upgrade your configuration accordingly. + +. Copy the command that you used earlier to install {agent}: ++ +[source,sh] +---- +helm install demo ./deploy/helm/elastic-agent \ +--set kubernetes.enabled=true \ +--set outputs.default.type=ESPlainAuthAPI \ +--set outputs.default.url=:443 \ +--set outputs.default.api_key="API_KEY" +---- + +. Update the command as follows: +.. Change `install` to upgrade. +.. Add a parameter `--set kubernetes.state.enabled=false`. This will override the default `true` value for the setting `kubernetes.state` in the {agent} link:https://github.com/elastic/elastic-agent/blob/main/deploy/helm/elastic-agent/values.yaml[values.yaml] file. ++ +[source,sh] +---- +helm upgrade demo ./deploy/helm/elastic-agent \ +--set kubernetes.enabled=true \ +--set kubernetes.state.enabled=false \ +--set outputs.default.type=ESPlainAuthAPI \ +--set outputs.default.url=:443 \ +--set outputs.default.api_key="API_KEY" +---- + +. Run the command. ++ +The command output should confirm that now only two {agents} are installed together with the {k8s} integration: ++ +[source,sh] +---- +... +Installed agents: + - clusterWide [deployment - standalone mode] + - perNode [daemonset - standalone mode] + +Installed integrations: + - kubernetes [built-in chart integration] +... +---- + +You've upgraded your configuration to run only two {agents}, without the kube-state-metrics service. You can similarly upgrade your agent to change other settings defined in the in the {agent} link:https://github.com/elastic/elastic-agent/blob/main/deploy/helm/elastic-agent/values.yaml[values.yaml] file. + +[discrete] +[[agent-standalone-helm-example-change-mode]] +=== Change {agent}'s running mode + +By default {agent} runs under the `elastic` user account. For some use cases you may want to temporarily change an agent to run with higher privileges. + +. Run the `kubectl get pods -n default` command to view the running {agent} pods: ++ +[source,sh] +---- +NAME READY STATUS RESTARTS AGE +agent-clusterwide-demo-77c65f6c7b-trdms 1/1 Running 0 5m18s +agent-pernode-demo-c7d75 1/1 Running 0 5m18s +---- + +. Now, run the `kubectl exec` command to enter one of the running {agents}, substituting the correct pod name returned from the previous command. For example: ++ +[source,sh] +---- +kubectl exec -it pods/agent-pernode-demo-c7d75 -- bash +---- + +. From inside the pod, run the Linux `ps aux` command to view the running processes. ++ +[source,sh] +---- +ps aux +---- ++ +The results should be similar to the following: ++ +[source,sh] +---- +USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND +elastic+ 1 0.0 0.0 1936 416 ? Ss 21:04 0:00 /usr/bin/tini -- /usr/local/bin/docker-entrypoint -c /etc/elastic-agent/agent.yml -e +elastic+ 10 0.2 1.3 2555252 132804 ? Sl 21:04 0:13 elastic-agent container -c /etc/elastic-agent/agent.yml -e +elastic+ 37 0.6 2.0 2330112 208468 ? Sl 21:04 0:37 /usr/share/elastic-agent/data/elastic-agent-d99b09/components/agentbeat metricbeat -E +elastic+ 38 0.2 1.7 2190072 177780 ? Sl 21:04 0:13 /usr/share/elastic-agent/data/elastic-agent-d99b09/components/agentbeat filebeat -E se +elastic+ 56 0.1 1.7 2190136 175896 ? Sl 21:04 0:11 /usr/share/elastic-agent/data/elastic-agent-d99b09/components/agentbeat metricbeat -E +elastic+ 68 0.1 1.8 2190392 184140 ? Sl 21:04 0:12 /usr/share/elastic-agent/data/elastic-agent-d99b09/components/agentbeat metricbeat -E +elastic+ 78 0.7 2.0 2330496 204964 ? Sl 21:04 0:48 /usr/share/elastic-agent/data/elastic-agent-d99b09/components/agentbeat filebeat -E se +elastic+ 535 0.0 0.0 3884 3012 pts/0 Ss 22:47 0:00 bash +elastic+ 543 0.0 0.0 5480 2360 pts/0 R+ 22:47 0:00 ps aux +---- + +. In the command output, note that {agent} is currently running as the `elastic` user: ++ +[source,sh] +---- +elastic+ 10 0.2 1.3 2555252 132804 ? Sl 21:04 0:13 elastic-agent container -c /etc/elastic-agent/agent.yml -e +---- + +. Run `exit` to leave the {agent} pod. + +. Run the `helm upgrade` command again, this time adding the parameter `--set agent.unprivileged=false` to override the default `true` value for that setting. ++ +[source,sh] +---- +helm upgrade demo ./deploy/helm/elastic-agent \ +--set kubernetes.enabled=true \ +--set kubernetes.state.enabled=false \ +--set outputs.default.type=ESPlainAuthAPI \ +--set outputs.default.url=:443 \ +--set outputs.default.api_key="API_KEY" \ +--set agent.unprivileged=false +---- + +. Run the `kubectl get pods -n default` command to view the running {agent} pods: ++ +[source,sh] +---- +NAME READY STATUS RESTARTS AGE +agent-clusterwide-demo-77c65f6c7b-trdms 1/1 Running 0 5m18s +agent-pernode-demo-s6s7z 1/1 Running 0 5m18s +---- + +. Re-run the `kubectl exec` command to enter one of the running {agents}, substituting the correct pod name. For example: ++ +[source,sh] +---- +kubectl exec -it pods/agent-pernode-demo-s6s7z -- bash +---- + +. From inside the pod, run the Linux `ps aux` command to view the running processes. ++ +[source,sh] +---- +USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND +root 1 0.0 0.0 1936 452 ? Ss 23:10 0:00 /usr/bin/tini -- /usr/local/bin/docker-entrypoint -c /etc/elastic-agent/agent.yml -e +root 9 0.9 1.3 2488368 135920 ? Sl 23:10 0:01 elastic-agent container -c /etc/elastic-agent/agent.yml -e +root 27 0.9 1.9 2255804 203128 ? Sl 23:10 0:01 /usr/share/elastic-agent/data/elastic-agent-d99b09/components/agentbeat metricbeat -E +root 44 0.3 1.8 2116148 187432 ? Sl 23:10 0:00 /usr/share/elastic-agent/data/elastic-agent-d99b09/components/agentbeat metricbeat -E +root 64 0.3 1.8 2263868 188892 ? Sl 23:10 0:00 /usr/share/elastic-agent/data/elastic-agent-d99b09/components/agentbeat metricbeat -E +root 76 0.4 1.8 2190136 190972 ? Sl 23:10 0:00 /usr/share/elastic-agent/data/elastic-agent-d99b09/components/agentbeat filebeat -E se +root 100 1.2 2.0 2256316 207692 ? Sl 23:10 0:01 /usr/share/elastic-agent/data/elastic-agent-d99b09/components/agentbeat filebeat -E se +root 142 0.0 0.0 3752 3068 pts/0 Ss 23:12 0:00 bash +root 149 0.0 0.0 5480 2376 pts/0 R+ 23:13 0:00 ps aux +---- + +. Run `exit` to leave the {agent} pod. + +You've upgraded the {agent} privileges to run as `root`. To change the settings back, you can re-run the `helm upgrade` command with `--set agent.unprivileged=true` to return to the default `unprivileged` mode. + + +[discrete] +[[agent-standalone-helm-example-tidy-up]] +=== Tidy up + +After you've run through this example, run the `helm uninstall` command to uninstall {agent}. + +[source,sh] +---- +helm uninstall demo +---- + +The uninstall should be confirmed as shown: + +[source,sh] +---- +release "demo" uninstalled +---- + +As a reminder, for full details about using the {agent} Helm chart refer to the link:https://github.com/elastic/elastic-agent/tree/main/deploy/helm/elastic-agent[{agent} Helm Chart Readme]. diff --git a/docs/en/ingest-management/elastic-agent/images/helm-example-fleet-metrics-dashboard.png b/docs/en/ingest-management/elastic-agent/images/helm-example-fleet-metrics-dashboard.png new file mode 100644 index 000000000..f0f3ae7fa Binary files /dev/null and b/docs/en/ingest-management/elastic-agent/images/helm-example-fleet-metrics-dashboard.png differ diff --git a/docs/en/ingest-management/elastic-agent/images/helm-example-nodes-enrollment-confirmation.png b/docs/en/ingest-management/elastic-agent/images/helm-example-nodes-enrollment-confirmation.png new file mode 100644 index 000000000..c55a50bd6 Binary files /dev/null and b/docs/en/ingest-management/elastic-agent/images/helm-example-nodes-enrollment-confirmation.png differ diff --git a/docs/en/ingest-management/elastic-agent/images/helm-example-nodes-logs-and-metrics.png b/docs/en/ingest-management/elastic-agent/images/helm-example-nodes-logs-and-metrics.png new file mode 100644 index 000000000..4d57e979d Binary files /dev/null and b/docs/en/ingest-management/elastic-agent/images/helm-example-nodes-logs-and-metrics.png differ diff --git a/docs/en/ingest-management/elastic-agent/images/helm-example-nodes-metrics-dashboard.png b/docs/en/ingest-management/elastic-agent/images/helm-example-nodes-metrics-dashboard.png new file mode 100644 index 000000000..9322eb818 Binary files /dev/null and b/docs/en/ingest-management/elastic-agent/images/helm-example-nodes-metrics-dashboard.png differ diff --git a/docs/en/ingest-management/elastic-agent/images/helm-example-pods-metrics-dashboard.png b/docs/en/ingest-management/elastic-agent/images/helm-example-pods-metrics-dashboard.png new file mode 100644 index 000000000..fa894a1de Binary files /dev/null and b/docs/en/ingest-management/elastic-agent/images/helm-example-pods-metrics-dashboard.png differ diff --git a/docs/en/ingest-management/elastic-agent/install-on-kubernetes-using-helm.asciidoc b/docs/en/ingest-management/elastic-agent/install-on-kubernetes-using-helm.asciidoc new file mode 100644 index 000000000..af4a63e94 --- /dev/null +++ b/docs/en/ingest-management/elastic-agent/install-on-kubernetes-using-helm.asciidoc @@ -0,0 +1,24 @@ +[[install-on-kubernetes-using-helm]] += Install {agent} on Kubernetes using Helm + +preview::[] + +Starting with {stack} version 8.16, a Helm chart is available for installing {agent} in a Kubernetes environment. A Helm-based install offers several advantages, including simplified deployment, availability in marketplaces, streamlined ugrades, as well as quick rollbacks whenever they're needed. + +Features of the Helm-based {agent} install include: + +* Support for both standalone and {fleet}-managed {agent}. +* For standalone agents, a built-in Kubernetes policy similar to that available in {fleet} for {fleet}-managed agents. +* Support for custom integrations. +* Support for {es} outputs with authentication through username and password, an API key, or a stored secret. +* Easy switching between privileged (`root`) and unprivileged {agent} deployments. +* Support for {stack} deployments on {eck}. + +For detailed install steps, try one of our walk-through examples: + +* <> +* <> + +NOTE: The {agent} Helm chart is currently available from inside the link:https://github.com/elastic/elastic-agent[elastic/elastic-agent] GitHub repo. It's planned to soon make the chart available from the Elastic Helm repository. + +You can also find details about the Helm chart, including all available YAML settings and descriptions, in the link:https://github.com/elastic/elastic-agent/tree/main/deploy/helm/elastic-agent[{agent} Helm Chart Readme]. Several link:https://github.com/elastic/elastic-agent/tree/main/deploy/helm/elastic-agent/examples[examples] are available if you'd like to explore other use cases. \ No newline at end of file diff --git a/docs/en/ingest-management/fleet/fleet-deployment-models.asciidoc b/docs/en/ingest-management/fleet/fleet-deployment-models.asciidoc index 4980c1b6a..3ef712bd7 100644 --- a/docs/en/ingest-management/fleet/fleet-deployment-models.asciidoc +++ b/docs/en/ingest-management/fleet/fleet-deployment-models.asciidoc @@ -19,7 +19,7 @@ If you're running {es} and {kib} hosted on {cloud}/ec-getting-started.html[{ess} When you use a hosted {ess} deployment you may still choose to run {fleet-server} on-premise. For details about this deployment model and set up instructions, refer to <>. Docker and Kubernetes:: -You can deploy {fleet}-managed {agent} in Docker or on Kubernetes. Refer to <> or <> for all of the configuration instructions. Details for configuring {fleet-server} are included with the {agent} install steps. +You can deploy {fleet}-managed {agent} in Docker or on Kubernetes. Refer to <> or <> for all of the configuration instructions. For a Kubernetes install we also have a <> available to simplify the installation. Details for configuring {fleet-server} are included with the {agent} install steps. {eck}:: You can deploy {fleet}-managed {agent} in an {ecloud} Kubernetes environment that provides configuration and management capabilities for the full {stack}. For details, refer to {eck-ref}/k8s-elastic-agent-fleet.html[Run {fleet}-managed {agent} on ECK]. diff --git a/docs/en/ingest-management/index.asciidoc b/docs/en/ingest-management/index.asciidoc index f85081f37..8ddec8a90 100644 --- a/docs/en/ingest-management/index.asciidoc +++ b/docs/en/ingest-management/index.asciidoc @@ -45,6 +45,12 @@ include::elastic-agent/elastic-agent-container.asciidoc[leveloffset=+3] include::elastic-agent/running-on-kubernetes-managed-by-fleet.asciidoc[leveloffset=+3] +include::elastic-agent/install-on-kubernetes-using-helm.asciidoc[leveloffset=+3] + +include::elastic-agent/example-kubernetes-standalone-agent-helm.asciidoc[leveloffset=+3] + +include::elastic-agent/example-kubernetes-fleet-managed-agent-helm.asciidoc[leveloffset=+3] + include::elastic-agent/advanced-kubernetes-managed-by-fleet.asciidoc[leveloffset=+3] include::elastic-agent/configuring-kubernetes-metadata.asciidoc[leveloffset=+3]