A newer version is available. For the latest information, see the
current release documentation.
Deploy ECK in your Kubernetes cluster
editDeploy ECK in your Kubernetes cluster
editThings to consider before you start:
- For this quickstart guide, your Kubernetes cluster is assumed to be already up and running. Before you proceed with the ECK installation, make sure you check the supported versions.
-
If you are using GKE, make sure your user has
cluster-admin
permissions. For more information, check Prerequisites for using Kubernetes RBAC on GKE. - If you are using Amazon EKS, make sure the Kubernetes control plane is allowed to communicate with the Kubernetes nodes on port 443. This is required for communication with the Validating Webhook. For more information, check Recommended inbound traffic.
- Refer to Install ECK for more information on installation options.
Check the upgrade notes if you are attempting to upgrade an existing ECK deployment.
-
Install custom resource definitions:
kubectl create -f https://download.elastic.co/downloads/eck/2.15.0/crds.yaml
The following Elastic resources have been created:
customresourcedefinition.apiextensions.k8s.io/agents.agent.k8s.elastic.co created customresourcedefinition.apiextensions.k8s.io/apmservers.apm.k8s.elastic.co created customresourcedefinition.apiextensions.k8s.io/beats.beat.k8s.elastic.co created customresourcedefinition.apiextensions.k8s.io/elasticmapsservers.maps.k8s.elastic.co created customresourcedefinition.apiextensions.k8s.io/elasticsearches.elasticsearch.k8s.elastic.co created customresourcedefinition.apiextensions.k8s.io/enterprisesearches.enterprisesearch.k8s.elastic.co created customresourcedefinition.apiextensions.k8s.io/kibanas.kibana.k8s.elastic.co created customresourcedefinition.apiextensions.k8s.io/logstashes.logstash.k8s.elastic.co created
-
Install the operator with its RBAC rules:
kubectl apply -f https://download.elastic.co/downloads/eck/2.15.0/operator.yaml
The ECK operator runs by default in the
elastic-system
namespace. It is recommended that you choose a dedicated namespace for your workloads, rather than using theelastic-system
or thedefault
namespace. -
Monitor the operator logs:
kubectl -n elastic-system logs -f statefulset.apps/elastic-operator