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
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 @@ -12,7 +12,7 @@ mapped_pages:

# {{eck}} [k8s-overview]

Built on the Kubernetes Operator pattern, {{eck}} (ECK) extends the basic Kubernetes orchestration capabilities to support the setup and management of {{es}}, {{kib}}, APM Server, Beats, Elastic Agent, Elastic Maps Server, and Logstash on Kubernetes.
Built on the Kubernetes Operator pattern, {{eck}} (ECK) extends the basic Kubernetes orchestration capabilities to support the setup and management of {{eck_resources_list}} on Kubernetes.

## ECK overview

Expand All @@ -28,7 +28,7 @@ This section provides everything you need to install, configure, and manage {{st

- [](./cloud-on-k8s/deploy-an-orchestrator.md): ECK installation methods and configuration options. Deploy ECK on managed Kubernetes platforms like GKE, AKS, and EKS, on self-managed Kubernetes clusters, on OpenShift, and even in air-gapped environments.
- [](./cloud-on-k8s/manage-deployments.md): Handle {{es}} clusters and {{kib}} instances through ECK.
- [](./cloud-on-k8s/orchestrate-other-elastic-applications.md): Run APM Server, Beats, Elastic Agent, Elastic Maps Server, and Logstash on Kubernetes.
- [](./cloud-on-k8s/orchestrate-other-elastic-applications.md): Run {{eck_resources_list_short}} on Kubernetes.
- [](./cloud-on-k8s/tools-apis.md): A collection of tools and APIs available in ECK based environments.

Other sections of the documentation include the following important topics around ECK:
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 @@ -47,7 +47,7 @@ Once the ECK operator image is copied internally, replace the original image nam

## Override the default container registry [k8s-container-registry-override]

When creating custom resources ({{es}}, {{kib}}, APM Server, Beats, Elastic Agent, Elastic Maps Server, and Logstash), the operator defaults to using container images pulled from the `docker.elastic.co` registry. If you are in an environment where external network access is restricted, you can configure the operator to use a different default container registry by starting the operator with the `--container-registry` command-line flag. Check [*Configure ECK*](../../../deploy-manage/deploy/cloud-on-k8s/configure-eck.md) for more information on how to configure the operator using command-line flags and environment variables.
When creating custom resources ({{eck_resources_list}}), the operator defaults to using container images pulled from the `docker.elastic.co` registry. If you are in an environment where external network access is restricted, you can configure the operator to use a different default container registry by starting the operator with the `--container-registry` command-line flag. Check [*Configure ECK*](../../../deploy-manage/deploy/cloud-on-k8s/configure-eck.md) for more information on how to configure the operator using command-line flags and environment variables.

The operator expects container images to be located at specific repositories in the default container registry. Make sure that your container images are stored in the right repositories and are tagged correctly with the Stack version number. For example, if your private registry is `my.registry` and you wish to deploy components from Stack version 8.16.1, the following image names should exist:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ mapped_pages:

# Configure the validating webhook [k8s-webhook]

ECK can be configured to provide a [validating webhook](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/) that validates Elastic custom resources ({{es}}, {{kib}}, APM Server, Beats, Elastic Agent, Elastic Maps Server, and Logstash) before they are created or updated. Validating webhooks provide immediate feedback if a submitted manifest contains invalid or illegal configuration — which can help you catch errors early and save time that would otherwise be spent on troubleshooting.
ECK can be configured to provide a [validating webhook](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/) that validates Elastic custom resources ({{eck_resources_list}}) before they are created or updated. Validating webhooks provide immediate feedback if a submitted manifest contains invalid or illegal configuration — which can help you catch errors early and save time that would otherwise be spent on troubleshooting.

Validating webhooks are defined using a `ValidatingWebhookConfiguration` object that defines the following:

Expand All @@ -27,7 +27,7 @@ Validating webhooks are defined using a `ValidatingWebhookConfiguration` object

When using the default `operator.yaml` manifest, ECK is installed with a `ValidatingWebhookConfiguration` configured as follows:

* Validate all known Elastic custom resources ({{es}}, {{kib}}, APM Server, Beats, Elastic Agent, Elastic Maps Server, and Logstash) on create and update.
* Validate all known Elastic custom resources ({{eck_resources_list}}) on create and update.
* The operator itself is the webhook server — which is exposed through a service named `elastic-webhook-server` in the `elastic-system` namespace.
* The operator generates a certificate for the webhook and stores it in a secret named `elastic-webhook-server-cert` in the `elastic-system` namespace. This certificate is automatically rotated by the operator when it is due to expire.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ mapped_pages:

# Create custom images [k8s-custom-images]

You can create your own custom application images ({{es}}, {{kib}}, APM Server, Beats, Elastic Agent, Elastic Maps Server, and Logstash) instead of using the base images provided by Elastic. You might want to do this to have a canonical image with all the necessary plugins pre-loaded rather than [installing them through an init container](init-containers-for-plugin-downloads.md) each time a Pod starts. You must use the official image as the base for custom images. For example, if you want to create an {{es}} 8.16.1 image with the [ICU Analysis Plugin](elasticsearch://reference/elasticsearch-plugins/analysis-icu.md), you can do the following:
You can create your own custom application images ({{eck_resources_list}}) instead of using the base images provided by Elastic. You might want to do this to have a canonical image with all the necessary plugins pre-loaded rather than [installing them through an init container](init-containers-for-plugin-downloads.md) each time a Pod starts. You must use the official image as the base for custom images. For example, if you want to create an {{es}} 8.16.1 image with the [ICU Analysis Plugin](elasticsearch://reference/elasticsearch-plugins/analysis-icu.md), you can do the following:

1. Create a `Dockerfile` containing:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ To learn about other installation methods, refer to [](/deploy-manage/deploy/clo

During the installation, the following components are installed or updated:

* `CustomResourceDefinition` objects for all supported resource types ({{es}}, {{kib}}, APM Server, Beats, Elastic Agent, Elastic Maps Server, and Logstash).
* `CustomResourceDefinition` objects for all supported resource types ({{eck_resources_list}}).
* `Namespace` named `elastic-system` to hold all operator resources.
* `ServiceAccount`, `ClusterRole` and `ClusterRoleBinding` to allow the operator to manage resources throughout the cluster.
* `ValidatingWebhookConfiguration` to validate Elastic custom resources on admission.
Expand Down
4 changes: 2 additions & 2 deletions deploy-manage/deploy/cloud-on-k8s/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ mapped_pages:

# Install ECK [k8s-installing-eck]

{{eck}} (ECK) is a [Kubernetes operator](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) that helps you deploy and manage Elastic applications on Kubernetes, including {{es}}, {{kib}}, APM Server, Beats, Elastic Agent, Elastic Maps Server, and Logstash.
{{eck}} (ECK) is a [Kubernetes operator](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) that helps you deploy and manage Elastic applications on Kubernetes, including {{eck_resources_list}}.

ECK relies on a set of [Custom Resource Definitions (CRDs)](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions) to define how applications are deployed. CRDs are global resources, shared across the entire Kubernetes cluster, so installing them requires [specific permissions](../../../deploy-manage/deploy/cloud-on-k8s/required-rbac-permissions.md#k8s-eck-permissions-installing-crds).

Expand All @@ -22,7 +22,7 @@ You can install multiple instances of ECK in the same Kubernetes cluster, but on
::::

::::{warning}
Deleting CRDs will trigger deletion of all custom resources ({{es}}, {{kib}}, APM Server, Beats, Elastic Agent, Elastic Maps Server, and Logstash) in all namespaces of the cluster, regardless of whether they are managed by a single operator or multiple operators.
Deleting CRDs will trigger deletion of all custom resources ({{eck_resources_list}}) in all namespaces of the cluster, regardless of whether they are managed by a single operator or multiple operators.
::::

For a list of supported Kubernetes versions refer to [](../cloud-on-k8s.md#k8s-supported)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ This page shows the installation steps to deploy ECK in Openshift:
oc adm pod-network make-projects-global elastic-system
```

3. Create a namespace to hold the Elastic resources ({{es}}, {{kib}}, APM Server, Beats, Elastic Agent, Elastic Maps Server, and Logstash):
3. Create a namespace to hold the Elastic resources ({{eck_resources_list}}):
::::{note}
A namespace other than the default namespaces (default, kube-\*, openshift-\*, etc) is required such that default [Security Context Constraint](https://docs.openshift.com/container-platform/4.12/authentication/managing-security-context-constraints.html) (SCC) permissions are applied automatically. Elastic resources will not work properly in any of the default namespaces.
::::
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ spec:

As the default `failurePolicy` of the webhook is `Ignore`, the operator continues to function even if the above annotations are not present. The downside is that you are still able to submit an invalid manifest using `kubectl` without receiving any immediate feedback.

ECK has a fallback validation mechanism that reports validation failures as events associated with the relevant resource ({{es}}, {{kib}}, APM Server, Beats, Elastic Agent, Elastic Maps Server, and Logstash) that must be manually discovered by running `kubectl describe`. For example, to find the validation errors in an {{es}} resource named `quickstart`, you can run `kubectl describe elasticsearch quickstart`.
ECK has a fallback validation mechanism that reports validation failures as events associated with the relevant resource ({{eck_resources_list}}) that must be manually discovered by running `kubectl describe`. For example, to find the validation errors in an {{es}} resource named `quickstart`, you can run `kubectl describe elasticsearch quickstart`.


## Connect {{stack}} applications to the Istio service mesh [k8s-service-mesh-istio-stack-connection]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ mapped_pages:

# Manage compute resources [k8s-managing-compute-resources]

To help the Kubernetes scheduler correctly place Pods in available Kubernetes nodes and ensure quality of service (QoS), it is recommended to specify the CPU and memory requirements for objects managed by the operator ({{es}}, {{kib}}, APM Server, Beats, Elastic Agent, Elastic Maps Server, and Logstash). In Kubernetes, `requests` defines the minimum amount of resources that must be available for a Pod to be scheduled; `limits` defines the maximum amount of resources that a Pod is allowed to consume. For more information about how Kubernetes uses these concepts, check [Managing Compute Resources for Containers](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/).
To help the Kubernetes scheduler correctly place Pods in available Kubernetes nodes and ensure quality of service (QoS), it is recommended to specify the CPU and memory requirements for objects managed by the operator ({{eck_resources_list}}). In Kubernetes, `requests` defines the minimum amount of resources that must be available for a Pod to be scheduled; `limits` defines the maximum amount of resources that a Pod is allowed to consume. For more information about how Kubernetes uses these concepts, check [Managing Compute Resources for Containers](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/).

::::{note}
The operator applies default requests and limits for memory and CPU. They may be suitable for experimenting with the {{stack}}, however it is recommended to reevaluate these values for production use cases.
Expand Down
2 changes: 1 addition & 1 deletion deploy-manage/deploy/cloud-on-k8s/manage-deployments.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ applies_to:
This section provides detailed guidance on deploying, configuring, and managing {{es}} and {{kib}} within ECK. A **deployment** refers to an {{es}} cluster, optionally with one or more {{kib}} instances connected to it.

::::{tip}
This content focuses on {{es}} and {{kib}} deployments. To orchestrate other {{stack}} applications such as APM Server, Beats, Elastic Agent, Elastic Maps Server, and Logstash, refer to the [Orchestrating other {{stack}} applications](./orchestrate-other-elastic-applications.md).
This content focuses on {{es}} and {{kib}} deployments. To orchestrate other {{stack}} applications such as {{eck_resources_list_short}}, refer to the [Orchestrating other {{stack}} applications](./orchestrate-other-elastic-applications.md).
::::

## What You'll Learn
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
This section explains how to deploy and configure various {{stack}} applications within {{eck}} (ECK).

::::{tip}
This content applies to APM Server, Beats, Elastic Agent, Elastic Maps Server, and Logstash applications. To orchestrate an {{es}} cluster or {{kib}}, refer to [](./manage-deployments.md).
This content applies to {{eck_resources_list_short}} applications. To orchestrate an {{es}} cluster or {{kib}}, refer to [](./manage-deployments.md).
::::

The following guides provide specific instructions for deploying and configuring each application on ECK:
Expand Down
2 changes: 2 additions & 0 deletions docset.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
project: 'Elastic documentation'

Check notice on line 1 in docset.yml

View workflow job for this annotation

GitHub Actions / preview / build

Substitution key 'reports-app' is not used in any file

Check notice on line 1 in docset.yml

View workflow job for this annotation

GitHub Actions / preview / build

Substitution key 'api-request-title' is not used in any file

Check notice on line 1 in docset.yml

View workflow job for this annotation

GitHub Actions / preview / build

Substitution key 'api-prereq-title' is not used in any file

Check notice on line 1 in docset.yml

View workflow job for this annotation

GitHub Actions / preview / build

Substitution key 'api-description-title' is not used in any file

Check notice on line 1 in docset.yml

View workflow job for this annotation

GitHub Actions / preview / build

Substitution key 'api-path-parms-title' is not used in any file

Check notice on line 1 in docset.yml

View workflow job for this annotation

GitHub Actions / preview / build

Substitution key 'api-request-body-title' is not used in any file

Check notice on line 1 in docset.yml

View workflow job for this annotation

GitHub Actions / preview / build

Substitution key 'release-date' is not used in any file
max_toc_depth: 2

features:
Expand Down Expand Up @@ -272,6 +272,8 @@
kib-pull: "https://github.com/elastic/kibana/pull/"
stack-version: "9.0.0"
eck_version: "3.0.0"
eck_resources_list: "Elasticsearch, Kibana, APM Server, Beats, Elastic Agent, Elastic Maps Server, and Logstash"
eck_resources_list_short: "APM Server, Beats, Elastic Agent, Elastic Maps Server, and Logstash"
apm_server_version: "9.0.0"
version: "9.0.0"
release-date: "2-April-2025"
Expand Down
Loading