Quickstart: Running standalone Elastic Agent on Elastic Cloud on Kubernetes
Elastic Cloud on Kubernetes extends Kubernetes orchestration capabilities to allow you to deploy and manage components of the Elastic Stack. Availability 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.
ECK
Generally available
Apply the following specification to deploy Elastic Agent with the System metrics integration to harvest CPU metrics from the Agent Pods. ECK automatically configures the secured connection to an Elasticsearch cluster named
quickstart, created in Deploy an Elasticsearch cluster on Kubernetes.YAML cat <<EOF | kubectl apply -f - apiVersion: agent.k8s.elastic.co/v1alpha1 kind: Agent metadata: name: quickstart spec: version: 9.5.6 elasticsearchRefs: - name: quickstart daemonSet: podTemplate: spec: securityContext: runAsUser: 0 config: inputs: - name: system-1 revision: 1 type: system/metrics use_output: default meta: package: name: system version: 0.9.1 data_stream: namespace: default streams: - id: system/metrics-system.cpu data_stream: dataset: system.cpu type: metrics metricsets: - cpu cpu.metrics: - percentages - normalized_percentages period: 10s EOF- The root user is required to persist state in a
hostPathvolume. See Storing local state in host path volume for options to not run the Agent container as root.
Check Configuration examples for more ready-to-use manifests.
- The root user is required to persist state in a
Monitor the status of Elastic Agent.
Shell kubectl get agentShell NAME HEALTH AVAILABLE EXPECTED VERSION AGE quickstart green 3 3 9.5.6 15sList all the Pods that belong to a given Elastic Agent specification.
Shell kubectl get pods --selector='agent.k8s.elastic.co/name=quickstart'Shell NAME READY STATUS RESTARTS AGE quickstart-agent-6bcxr 1/1 Running 0 68s quickstart-agent-t49fd 1/1 Running 0 68s quickstart-agent-zqp55 1/1 Running 0 68sAccess logs for one of the Pods.
Shell kubectl logs -f quickstart-agent-6bcxrAccess the CPU metrics ingested by Elastic Agent.
You have two options:
Follow the Elasticsearch deployment guide and run:
TipIf the remote endpoint uses a certificate that is not publicly trusted (for example, one signed by a private or corporate CA), provide the corresponding CA certificate using
--cacert /path/to/ca.pemso thatcurlcan verify it.For testing only, you can use
--insecure(or-k) to skip certificate verification. This flag turns off TLS trust checks and should not be used in production.Shell curl -u "elastic:$PASSWORD" "https://localhost:9200/metrics-system.cpu-*/_search"Follow the Kibana deployment guide, log in and go to Kibana > Discover.