Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion deploy-manage/autoscaling/autoscaling-in-eck.md
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ spec:
max: 512Gi
```

You can find [a complete example in the ECK GitHub repository](https://github.com/elastic/cloud-on-k8s/blob/2.16/config/recipes/autoscaling/elasticsearch.yaml) which will also show you how to fine-tune the [autoscaling deciders](/deploy-manage/autoscaling/autoscaling-deciders.md).
You can find [a complete example in the ECK GitHub repository](https://github.com/elastic/cloud-on-k8s/blob/{{eck_release_branch}}/config/recipes/autoscaling/elasticsearch.yaml) which will also show you how to fine-tune the [autoscaling deciders](/deploy-manage/autoscaling/autoscaling-deciders.md).


#### Change the polling interval [k8s-autoscaling-polling-interval]
Expand Down
4 changes: 2 additions & 2 deletions deploy-manage/deploy/cloud-on-k8s.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ Afterwards, you can:

* Learn how to [update your deployment](./cloud-on-k8s/update-deployments.md)
* Check out [our recipes](./cloud-on-k8s/recipes.md) for multiple use cases
* Find further sample resources [in the project repository](https://github.com/elastic/cloud-on-k8s/tree/2.16/config/samples)
* Find further sample resources [in the project repository](https://github.com/elastic/cloud-on-k8s/tree/{{eck_release_branch}}/config/samples)

## Supported versions [k8s-supported]

Expand All @@ -70,7 +70,7 @@ ECK is compatible with the following Kubernetes distributions and related techno
* Kubernetes 1.28-1.32
* OpenShift 4.14-4.18
* Google Kubernetes Engine (GKE), Azure Kubernetes Service (AKS), and Amazon Elastic Kubernetes Service (EKS)
* Helm: 3.2.0+
* Helm: {{eck_helm_minimum_version}}+

ECK should work with all conformant **installers** listed in these [FAQs](https://github.com/cncf/k8s-conformance/blob/master/faq.md#what-is-a-distribution-hosted-platform-and-an-installer). Distributions include source patches and so may not work as-is with ECK.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ Starting with ECK 2.0 the operator can make Kubernetes Node labels available as
2. On the {{es}} resources set the `eck.k8s.elastic.co/downward-node-labels` annotations with the list of the Kubernetes node labels that should be copied as Pod annotations.
3. Use the [Kubernetes downward API](https://kubernetes.io/docs/tasks/inject-data-application/downward-api-volume-expose-pod-information/) in the `podTemplate` to make those annotations available as environment variables in {{es}} Pods.

Refer to the next section or to the [{{es}} sample resource in the ECK source repository](https://github.com/elastic/cloud-on-k8s/tree/2.16/config/samples/elasticsearch/elasticsearch.yaml) for a complete example.
Refer to the next section or to the [{{es}} sample resource in the ECK source repository](https://github.com/elastic/cloud-on-k8s/tree/{{eck_release_branch}}/config/samples/elasticsearch/elasticsearch.yaml) for a complete example.


### Using node topology labels, Kubernetes topology spread constraints, and {{es}} shard allocation awareness [k8s-availability-zone-awareness-example]
Expand Down
2 changes: 1 addition & 1 deletion deploy-manage/deploy/cloud-on-k8s/air-gapped-install.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ ECK will automatically set the correct container image for each application. Whe

To deploy the ECK operator in an air-gapped environment, you first have to mirror the operator image itself from `docker.elastic.co` to a private container registry, for example `my.registry`.

Once the ECK operator image is copied internally, replace the original image name `docker.elastic.co/eck/eck-operator:2.16.1` with the private name of the image, for example `my.registry/eck/eck-operator:2.16.1`, in the [operator manifests](../../../deploy-manage/deploy/cloud-on-k8s/install-using-yaml-manifest-quickstart.md). When using [Helm charts](../../../deploy-manage/deploy/cloud-on-k8s/install-using-helm-chart.md), replace the `image.repository` Helm value with, for example, `my.registry/eck/eck-operator`.
Once the ECK operator image is copied internally, replace the original image name `docker.elastic.co/eck/eck-operator:{{eck_version}}` with the private name of the image, for example `my.registry/eck/eck-operator:{{eck_version}}`, in the [operator manifests](../../../deploy-manage/deploy/cloud-on-k8s/install-using-yaml-manifest-quickstart.md). When using [Helm charts](../../../deploy-manage/deploy/cloud-on-k8s/install-using-helm-chart.md), replace the `image.repository` Helm value with, for example, `my.registry/eck/eck-operator`.


## Override the default container registry [k8s-container-registry-override]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The examples in this section are purely descriptive and should not be considered
## Metricbeat for Kubernetes monitoring [k8s_metricbeat_for_kubernetes_monitoring]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/beats/metricbeat_hosts.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/beats/metricbeat_hosts.yaml
```

Deploys Metricbeat as a DaemonSet that monitors the usage of the following resources:
Expand All @@ -30,7 +30,7 @@ Deploys Metricbeat as a DaemonSet that monitors the usage of the following resou
## Filebeat with autodiscover [k8s_filebeat_with_autodiscover]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/beats/filebeat_autodiscover.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/beats/filebeat_autodiscover.yaml
```

Deploys Filebeat as a DaemonSet with the autodiscover feature enabled. It collects logs from Pods in every namespace and loads them to the connected {{es}} cluster.
Expand All @@ -39,7 +39,7 @@ Deploys Filebeat as a DaemonSet with the autodiscover feature enabled. It collec
## Filebeat with autodiscover for metadata [k8s_filebeat_with_autodiscover_for_metadata]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/beats/filebeat_autodiscover_by_metadata.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/beats/filebeat_autodiscover_by_metadata.yaml
```

Deploys Filebeat as a DaemonSet with the autodiscover feature enabled. Logs from Pods that match the following criteria are shipped to the connected {{es}} cluster:
Expand All @@ -51,7 +51,7 @@ Deploys Filebeat as a DaemonSet with the autodiscover feature enabled. Logs from
## Filebeat without autodiscover [k8s_filebeat_without_autodiscover]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/beats/filebeat_no_autodiscover.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/beats/filebeat_no_autodiscover.yaml
```

Deploys Filebeat as a DaemonSet with the autodiscover feature disabled. Uses the entire logs directory on the host as the input source. This configuration does not require any RBAC resources as no Kubernetes APIs are used.
Expand All @@ -60,7 +60,7 @@ Deploys Filebeat as a DaemonSet with the autodiscover feature disabled. Uses the
## {{es}} and {{kib}} Stack Monitoring [k8s_elasticsearch_and_kibana_stack_monitoring]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/beats/stack_monitoring.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/beats/stack_monitoring.yaml
```

Deploys Metricbeat configured for {{es}} and {{kib}} [Stack Monitoring](/deploy-manage/monitor/monitoring-data/visualizing-monitoring-data.md) and Filebeat using autodiscover. Deploys one monitored {{es}} cluster and one monitoring {{es}} cluster. You can access the Stack Monitoring app in the monitoring cluster’s {{kib}}.
Expand All @@ -74,7 +74,7 @@ In this example, TLS verification is disabled when Metricbeat communicates with
## Heartbeat monitoring {{es}} and {{kib}} health [k8s_heartbeat_monitoring_elasticsearch_and_kibana_health]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/beats/heartbeat_es_kb_health.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/beats/heartbeat_es_kb_health.yaml
```

Deploys Heartbeat as a single Pod deployment that monitors the health of {{es}} and {{kib}} by TCP probing their Service endpoints. Heartbeat expects that {{es}} and {{kib}} are deployed in the `default` namespace.
Expand All @@ -83,7 +83,7 @@ Deploys Heartbeat as a single Pod deployment that monitors the health of {{es}}
## Auditbeat [k8s_auditbeat]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/beats/auditbeat_hosts.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/beats/auditbeat_hosts.yaml
```

Deploys Auditbeat as a DaemonSet that checks file integrity and audits file operations on the host system.
Expand All @@ -92,7 +92,7 @@ Deploys Auditbeat as a DaemonSet that checks file integrity and audits file oper
## Packetbeat monitoring DNS and HTTP traffic [k8s_packetbeat_monitoring_dns_and_http_traffic]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/beats/packetbeat_dns_http.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/beats/packetbeat_dns_http.yaml
```

Deploys Packetbeat as a DaemonSet that monitors DNS on port `53` and HTTP(S) traffic on ports `80`, `8000`, `8080` and `9200`.
Expand All @@ -101,7 +101,7 @@ Deploys Packetbeat as a DaemonSet that monitors DNS on port `53` and HTTP(S) tra
## OpenShift monitoring [k8s_openshift_monitoring]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/beats/openshift_monitoring.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/beats/openshift_monitoring.yaml
```

Deploys Metricbeat as a DaemonSet that monitors the host resource usage (CPU, memory, network, filesystem), OpenShift resources (Nodes, Pods, Containers, Volumes), API Server and Filebeat using autodiscover. Deploys an {{es}} cluster and {{kib}} to centralize data collection.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The examples in this section are for illustration purposes only and should not b
## System and {{k8s}} {{integrations}} [k8s_system_and_k8s_integrations]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/elastic-agent/fleet-kubernetes-integration.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/elastic-agent/fleet-kubernetes-integration.yaml
```

Deploys {{agent}} as a DaemonSet in {{fleet}} mode with System and {{k8s}} {{integrations}} enabled. System integration collects syslog logs, auth logs and system metrics (for CPU, I/O, filesystem, memory, network, process and others). {{k8s}} {{integrations}} collects API server, Container, Event, Node, Pod, Volume and system metrics.
Expand All @@ -27,7 +27,7 @@ Deploys {{agent}} as a DaemonSet in {{fleet}} mode with System and {{k8s}} {{int
## System and {{k8s}} {{integrations}} running as non-root [k8s_system_and_k8s_integrations_running_as_non_root]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/elastic-agent/fleet-kubernetes-integration-nonroot.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/elastic-agent/fleet-kubernetes-integration-nonroot.yaml
```

The provided example is functionally identical to the previous section but runs the {{agent}} processes (both the {{agent}} running as the {{fleet}} server and the {{agent}} connected to {{fleet}}) as a non-root user by utilizing a DaemonSet to ensure directory and file permissions.
Expand All @@ -41,7 +41,7 @@ The DaemonSet itself must run as root to set up permissions and ECK >= 2.10.0 is
## Custom logs integration with autodiscover [k8s_custom_logs_integration_with_autodiscover]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/elastic-agent/fleet-custom-logs-integration.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/elastic-agent/fleet-custom-logs-integration.yaml
```

Deploys {{agent}} as a DaemonSet in {{fleet}} mode with Custom Logs integration enabled. Collects logs from all Pods in the `default` namespace using autodiscover feature.
Expand All @@ -50,7 +50,7 @@ Deploys {{agent}} as a DaemonSet in {{fleet}} mode with Custom Logs integration
## APM integration [k8s_apm_integration]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/elastic-agent/fleet-apm-integration.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/elastic-agent/fleet-apm-integration.yaml
```

Deploys single instance {{agent}} Deployment in {{fleet}} mode with APM integration enabled.
Expand All @@ -59,7 +59,7 @@ Deploys single instance {{agent}} Deployment in {{fleet}} mode with APM integrat
## Synthetic monitoring [k8s_synthetic_monitoring]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/elastic-agent/synthetic-monitoring.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/elastic-agent/synthetic-monitoring.yaml
```

Deploys an {{fleet}}-enrolled {{agent}} that can be used as for [Synthetic monitoring](/solutions/observability/synthetics/index.md). This {{agent}} uses the `elastic-agent-complete` image. The agent policy still needs to be [registered as private location](/solutions/observability/synthetics/monitor-resources-on-private-networks.md#synthetics-private-location-add) in {{kib}}.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The examples in this section are for illustration purposes only. They should not
## Single pipeline defined in CRD [k8s-logstash-configuration-single-pipeline-crd]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/logstash/logstash-eck.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/logstash/logstash-eck.yaml
```

Deploys Logstash with a single pipeline defined in the CRD
Expand All @@ -27,7 +27,7 @@ Deploys Logstash with a single pipeline defined in the CRD
## Single Pipeline defined in Secret [k8s-logstash-configuration-single-pipeline-secret]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/logstash/logstash-pipeline-as-secret.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/logstash/logstash-pipeline-as-secret.yaml
```

Deploys Logstash with a single pipeline defined in a secret, referenced by a `pipelineRef`
Expand All @@ -36,7 +36,7 @@ Deploys Logstash with a single pipeline defined in a secret, referenced by a `pi
## Pipeline configuration in mounted volume [k8s-logstash-configuration-pipeline-volume]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/logstash/logstash-pipeline-as-volume.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/logstash/logstash-pipeline-as-volume.yaml
```

Deploys Logstash with a single pipeline defined in a secret, mounted as a volume, and referenced by `path.config`
Expand All @@ -45,7 +45,7 @@ Deploys Logstash with a single pipeline defined in a secret, mounted as a volume
## Writing to a custom {{es}} index [k8s-logstash-configuration-custom-index]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/logstash/logstash-es-role.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/logstash/logstash-es-role.yaml
```

Deploys Logstash and {{es}}, and creates an updated version of the `eck_logstash_user_role` to write to a user specified index.
Expand All @@ -54,7 +54,7 @@ Deploys Logstash and {{es}}, and creates an updated version of the `eck_logstash
## Creating persistent volumes for PQ and DLQ [k8s-logstash-configuration-pq-dlq]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/logstash/logstash-volumes.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/logstash/logstash-volumes.yaml
```

Deploys Logstash, Beats and {{es}}. Logstash is configured with two pipelines:
Expand All @@ -66,7 +66,7 @@ Deploys Logstash, Beats and {{es}}. Logstash is configured with two pipelines:
## {{es}} and {{kib}} Stack Monitoring [k8s-logstash-configuration-stack-monitoring]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/logstash/logstash-monitored.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/logstash/logstash-monitored.yaml
```

Deploys an {{es}} and {{kib}} monitoring cluster, and a Logstash that will send its monitoring information to this cluster. You can view the stack monitoring information in the monitoring cluster’s Kibana
Expand All @@ -75,7 +75,7 @@ Deploys an {{es}} and {{kib}} monitoring cluster, and a Logstash that will send
## Multiple pipelines/multiple {{es}} clusters [k8s-logstash-configuration-multiple-pipelines]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/logstash/logstash-multi.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/logstash/logstash-multi.yaml
```

Deploys {{es}} in prod and qa configurations, running in separate namespaces. Logstash is configured with a multiple pipeline→pipeline configuration, with a source pipeline routing to `prod` and `qa` pipelines.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The examples in this section are for illustration purposes only and should not b
## System integration [k8s_system_integration]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/elastic-agent/system-integration.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/elastic-agent/system-integration.yaml
```

Deploys Elastic Agent as a DaemonSet in standalone mode with system integration enabled. Collects syslog logs, auth logs and system metrics (for CPU, I/O, filesystem, memory, network, process and others).
Expand All @@ -27,7 +27,7 @@ Deploys Elastic Agent as a DaemonSet in standalone mode with system integration
## Kubernetes integration [k8s_kubernetes_integration]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/elastic-agent/kubernetes-integration.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/elastic-agent/kubernetes-integration.yaml
```

Deploys Elastic Agent as a DaemonSet in standalone mode with Kubernetes integration enabled. Collects API server, Container, Event, Node, Pod, Volume and system metrics.
Expand All @@ -36,7 +36,7 @@ Deploys Elastic Agent as a DaemonSet in standalone mode with Kubernetes integrat
## Multiple {{es}} clusters output [k8s_multiple_elasticsearch_clusters_output]

```sh
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/2.16/config/recipes/elastic-agent/multi-output.yaml
kubectl apply -f https://raw.githubusercontent.com/elastic/cloud-on-k8s/{{eck_release_branch}}/config/recipes/elastic-agent/multi-output.yaml
```

Deploys two {{es}} clusters and two {{kib}} instances together with single Elastic Agent DaemonSet in standalone mode with System integration enabled. System metrics are sent to the `elasticsearch` cluster. Elastic Agent monitoring data is sent to `elasticsearch-mon` cluster.
Expand Down
Loading
Loading