Deploy OneAgent Operator on Kubernetes

OneAgent Operator version 0.7.0

We recommend installing OneAgent Operator on Kubernetes with kubectl. If you prefer Helm, you can use the OneAgent Helm chart as a basic alternative.
For more information on all deployment options, see Kubernetes deployment strategies.

Installation

Find out below how to install and configure OneAgent.

Prerequisites
  • Generate an API token and a PaaS token in your Dynatrace environment.
    Make sure you have the Access problem and event feed, metrics, and topology setting enabled for the API token.

  • See Support lifecycle for supported Kubernetes versions.
  1. Create the necessary objects for OneAgent Operator.
    OneAgent Operator acts on its separate namespace dynatrace. It holds the operator deployment and all dependent objects like permissions, custom resources and the corresponding DaemonSet. You can also observe the logs of OneAgent Operator.
$ kubectl create namespace dynatrace
$ kubectl apply -f https://github.com/Dynatrace/dynatrace-oneagent-operator/releases/latest/download/kubernetes.yaml
$ kubectl -n dynatrace logs -f deployment/dynatrace-oneagent-operator
  1. Create the secret holding API and PaaS tokens for authentication to the Dynatrace cluster.
    The name of the secret is important in a later step when you configure the custom resource (.spec.tokens). In the following code-snippet the name is oneagent. Be sure to replace API_TOKEN and PAAS_TOKEN with the values explained in the prerequisites.
$ kubectl -n dynatrace create secret generic oneagent --from-literal="apiToken=API_TOKEN" --from-literal="paasToken=PAAS_TOKEN"
  1. Save custom resource.
    The rollout of Dynatrace OneAgent is governed by a custom resource of type OneAgent. Retrieve the cr.yaml file from the GitHub repository.
$ curl -o cr.yaml https://raw.githubusercontent.com/Dynatrace/dynatrace-oneagent-operator/master/deploy/cr.yaml
  1. Adapt the values of the custom resource as indicated below.
Configuration for Anthos, SUSE CaaS, GKE, and TKGI

For Anthos, SUSE CaaS, Google Kubernetes Engine, and VMware Tanzu Kubernetes Grid Integrated Edition (formerly PKE), you must add the following additional parameters to the env section in the cr.yaml file:

  1. Create the custom resource.
$ kubectl apply -f cr.yaml
  1. Optional  Configure proxy.
  • You can configure optional parameters like proxy settings in the cr.yaml file in order to
    • download the OneAgent installer
    • ensure the communication between the OneAgent and your Dynatrace environment
    • ensure the communication between the Dynatrace OneAgent Operator and the Dynatrace API.

There are two ways to provide the proxy, depending on whether or not your proxy uses credentials.

  1. Optional Configure network zones.

    You can configure network zones by setting the following argument:

    args:
      - --set-network-zone=<your.network.zone>
    

    See network zones for more information.

Limitations

See Docker limitations for details.

Troubleshoot

Find out how to troubleshoot issues that you may encounter when deploying OneAgent on Kubernetes.

Connect your Kubernetes clusters to Dynatrace

Now that you have OneAgent running on your Kubernetes nodes, you're able to monitor those nodes, and the applications running in Kubernetes. The next step is to connect the Kubernetes API to Dynatrace in order to get native Kubernetes metrics, like request limits, and differences in pods requested vs. running pods.
For further instructions see Monitor your Kubernetes clusters with Dynatrace.