Use an Elasticsearch cluster managed by ECK

edit

Managing both APM Server and Elasticsearch by ECK allows a smooth and secured integration between the two. The output configuration of the APM Server is setup automatically to establish a trust relationship with Elasticsearch.

  1. To deploy an APM Server and connect it to the cluster you created in the quickstart, apply the following specification:

    cat <<EOF | kubectl apply -f -
    apiVersion: apm.k8s.elastic.co/v1
    kind: ApmServer
    metadata:
      name: apm-server-quickstart
      namespace: default
    spec:
      version: 8.16.0
      count: 1
      elasticsearchRef:
        name: quickstart
    EOF

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:

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

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

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