Type to search.

Use an Elasticsearch cluster managed by ECK

ECK

Elastic Cloud on Kubernetes extends Kubernetes orchestration capabilities to allow you to deploy and manage components of the Elastic Stack.

Availability

  • Generally available

    This functionality is generally available and ready for production usage.

This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes.

Managing APM Server, Kibana and Elasticsearch with ECK allows a smooth and secured integration between the stack components. The output configuration of the APM Server is setup automatically to establish a trust relationship with Elasticsearch. Specifying the Kibana reference allows ECK to automatically configure the Kibana endpoint.

  1. To deploy an APM Server and connect it to the Elasticsearch cluster and Kibana instance you created in Deploy an Elasticsearch cluster on Kubernetes, apply the following specification:

    YAML
    cat <<EOF | kubectl apply -f -
    apiVersion: apm.k8s.elastic.co/v1
    kind: ApmServer
    metadata:
      name: apm-server-quickstart
      namespace: default
    spec:
      version: 9.5.6
      count: 1
      elasticsearchRef:
        name: quickstart
      kibanaRef:
        name: quickstart
    EOF
    
    1. A reference to a Kibana instance is only required for APM Server versions 8.0.0 and later.
Note

Starting with version 8.0.0 the following Kibana configuration is required to run APM Server

YAML
apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
config:
  xpack.fleet.packages:
  - name: apm
    version: latest

By default elasticsearchRef targets all nodes in your Elasticsearch cluster. If you want to direct traffic to specific nodes of your cluster, refer to Traffic Splitting for more information and examples.

  1. Monitor APM Server deployment.

    You can retrieve details about the APM Server instance:

    Shell
    kubectl get apmservers
    
    Shell
    NAME                     HEALTH    NODES    VERSION   AGE
    apm-server-quickstart    green     1        9.5.6      8m
    

    And you can list all the Pods belonging to a given deployment:

    Shell
    kubectl get pods --selector='apm.k8s.elastic.co/name=apm-server-quickstart'
    
    Shell
    NAME                                                READY   STATUS    RESTARTS   AGE
    apm-server-quickstart-apm-server-69b447ddc5-fflc6   1/1     Running   0          2m50s