Giter VIP home page Giter VIP logo

dynatrace-oneagent-operator's Introduction

Dynatrace OneAgent Operator

This is the home of Dynatrace OneAgent Operator which supports the rollout and lifecycle of Dynatrace OneAgent in Kubernetes and OpenShift clusters. Rolling out Dynatrace OneAgent via DaemonSet on a cluster is straightforward. Maintaining its lifecycle places a burden on the operational team. Dynatrace OneAgent Operator closes this gap by automating the repetitive steps involved in keeping Dynatrace OneAgent at its latest desired version.

Overview

Dynatrace OneAgent Operator is based on Operator SDK and uses its framework for interacting with Kubernetes and OpenShift environments. It watches custom resources OneAgent and monitors the desired state constantly. The rollout of Dynatrace OneAgent is managed by a DaemonSet initially. From here on Dynatrace OneAgent Operator controlls the lifecycle and keeps track of new versions and triggers updates if required.

Overview

Usage

Create namespace and setup permissions

The Dynatrace OneAgent Operator acts on its separate namespace dynatrace. It holds the operator deployment and all dependent objects like permissions, custom resources and corresponding DaemonSets.

$ kubectl create -f https://raw.githubusercontent.com/Dynatrace/dynatrace-oneagent-operator/master/deploy/namespace.yaml
$ kubectl create -f https://raw.githubusercontent.com/Dynatrace/dynatrace-oneagent-operator/master/deploy/rbac.yaml

Deploy dynatrace-oneagent-operator

$ kubectl create -f https://raw.githubusercontent.com/Dynatrace/dynatrace-oneagent-operator/master/deploy/crd.yaml
$ kubectl create -f https://raw.githubusercontent.com/Dynatrace/dynatrace-oneagent-operator/master/deploy/operator.yaml

The activity of Dynatrace OneAgent Operator can be observed by following its logs:

$ kubectl -n dynatrace logs -f deployment/dynatrace-oneagent-operator

Create OneAgent custom resource for OneAgent rollout

The rollout of Dynatrace OneAgent is governed by a custom resource of type OneAgent:

apiVersion: "dynatrace.com/v1alpha1"
kind: "OneAgent"
metadata:
  # a descriptive name for this object.
  # all created child objects will be based on it.
  name: "example"
  namespace: "dynatrace"
spec:
  # dynatrace api url including `/api` path at the end
  apiUrl: "https://ENVIRONMENTID.live.dynatrace.com/api"
  # dynatrace api token: `/#settings/integration/apikeys`
  apiToken: ""
  # dynatrace paas token (aka installer token): `/#settings/integration/paastokens`
  paasToken: ""
  # node selector to control the selection of nodes (optional)
  nodeSelector: {}
  # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ (optional)
  tolerations: []

Save the snippet to a file or use ./deploy/cr.yaml from this repository and adjust its values accordingly. Create the custom resource:

$ kubectl create -f cr.yaml

The status of the Dynatrace OneAgent rollout can be observed by watching the pod list:

$ kubectl -n dynatrace get pods --selector=dynatrace=oneagent,oneagent -w -o wide

Hacking

See HACKING for details on how to get started enhancing Dynatrace OneAgent Operator.

Contributing

See CONTRIBUTING for details on submitting changes.

License

Dynatrace OneAgent Operator is under Apache 2.0 license. See LICENSE for details.

dynatrace-oneagent-operator's People

Contributors

baichinger avatar esukram avatar peterfeicht avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.