Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Dynatrace/dynatrace-operator
Automate Kubernetes observability with Dynatrace
https://github.com/Dynatrace/dynatrace-operator
dynatrace hacktoberfest kubernetes monitoring observability operator
Last synced: 7 days ago
JSON representation
Automate Kubernetes observability with Dynatrace
- Host: GitHub
- URL: https://github.com/Dynatrace/dynatrace-operator
- Owner: Dynatrace
- License: apache-2.0
- Created: 2020-05-12T06:58:55.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-29T12:39:17.000Z (17 days ago)
- Last Synced: 2024-10-29T13:18:12.948Z (17 days ago)
- Topics: dynatrace, hacktoberfest, kubernetes, monitoring, observability, operator
- Language: Go
- Homepage: https://www.dynatrace.com
- Size: 16.6 MB
- Stars: 168
- Watchers: 14
- Forks: 138
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# Dynatrace Operator
[![GoDoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](http://godoc.org/github.com/Dynatrace/dynatrace-operator)
[![CI](https://github.com/Dynatrace/dynatrace-operator/actions/workflows/ci.yaml/badge.svg?branch=main)](https://github.com/Dynatrace/dynatrace-operator/actions/workflows/ci.yaml)
[![codecov](https://codecov.io/gh/Dynatrace/dynatrace-operator/parse/branch/main/graph/badge.svg)](https://codecov.io/gh/Dynatrace/dynatrace-operator)
![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/Dynatrace/dynatrace-operator?color=blue&sort=semver)
[![Go Report Card](https://goreportcard.com/badge/github.com/Dynatrace/dynatrace-operator)](https://goreportcard.com/report/github.com/Dynatrace/dynatrace-operator?dummy=unused)
[![Releases](https://img.shields.io/github/downloads/Dynatrace/dynatrace-operator/total.svg)](https://github.com/Dynatrace/dynatrace-operator/releases)The Dynatrace Operator supports rollout and lifecycle management of various Dynatrace components in Kubernetes and OpenShift.
* OneAgent
* `classicFullStack` rolls out a OneAgent pod per node to monitor pods on it and the node itself
* `applicationMonitoring` is a webhook based injection mechanism for automatic app-only injection
* CSI Driver can be enabled to cache OneAgent downloads per node
* `hostMonitoring` is only monitoring the hosts (i.e. nodes) in the cluster without app-only injection
* CSI Driver is used to provide a writeable volume for the Oneagent as it's running in read-only mode
* `cloudNativeFullStack` is a combination of `applicationMonitoring` and `hostMonitoring`
* CSI Driver is used for both features
* ActiveGate
* `routing` routes OneAgent traffic through the ActiveGate
* `kubernetes-monitoring` allows monitoring of the Kubernetes API
* `metrics-ingest` routes enriched metrics through ActiveGateFor more information please have a look at [our DynaKube Custom Resource examples](assets/samples/dynakube) and
our [official help page](https://www.dynatrace.com/support/help/shortlink/kubernetes-hub).## Support lifecycle
As the Dynatrace Operator is provided by Dynatrace Incorporated, support is provided by the Dynatrace Support team, as described on the [support page](https://support.dynatrace.com/).
Github issues will also be considered on a case-by-case basis regardless of support contracts and commercial relationships with Dynatrace.The [Dynatrace support lifecycle for Kubernetes and Openshift](https://www.dynatrace.com/support/help/shortlink/support-model-k8s-ocp) can be found in the official technology support pages.
## Quick Start
The Dynatrace Operator acts on its separate namespace `dynatrace`. It holds the operator deployment and all dependent
objects like permissions, custom resources and corresponding StatefulSets.### Installation
> For install instructions on Openshift, head to the
> [official help page](https://www.dynatrace.com/support/help/shortlink/full-stack-dto-k8)To create the namespace and apply the operator run the following commands
```sh
kubectl create namespace dynatrace
kubectl apply -f https://github.com/Dynatrace/dynatrace-operator/releases/latest/download/kubernetes.yaml
```If using `cloudNativeFullStack` or `applicationMonitoring` with CSI driver, the following command is required as well:
```sh
kubectl apply -f https://github.com/Dynatrace/dynatrace-operator/releases/latest/download/kubernetes-csi.yaml
```A secret holding tokens for authenticating to the Dynatrace cluster needs to be created upfront. Create access tokens of
type *Dynatrace API* and use its values in the following commands respectively. For
assistance please refer
to [Create user-generated access tokens](https://www.dynatrace.com/support/help/shortlink/token#create-api-token).The token scopes required by the Dynatrace Operator are documented on our [official help page](https://www.dynatrace.com/support/help/shortlink/full-stack-dto-k8#tokens)
```sh
kubectl -n dynatrace create secret generic dynakube --from-literal="apiToken=DYNATRACE_API_TOKEN" --from-literal="dataIngestToken=DATA_INGEST_TOKEN"
```#### Create `DynaKube` custom resource for ActiveGate and OneAgent rollout
The rollout of the Dynatrace components is governed by a custom resource of type `DynaKube`. This custom resource will
contain parameters for various Dynatrace capabilities (OneAgent deployment mode, ActiveGate capabilities, etc.)> Note: `.spec.tokens` denotes the name of the secret holding access tokens.
>
> If not specified Dynatrace Operator searches for a secret called like the DynaKube custom resource `.metadata.name`.The recommended approach is using classic Fullstack injection to roll out Dynatrace to your cluster, available as [classicFullStack sample](assets/samples/dynakube/v1beta2/classicFullStack.yaml).
In case you want to have adjustments please have a look at [our DynaKube Custom Resource examples](assets/samples/dynakube).Save one of the sample configurations, change the API url to your environment and apply it to your cluster.
```sh
kubectl apply -f cr.yaml
```For detailed instructions see
our [official help page](https://www.dynatrace.com/support/help/shortlink/full-stack-dto-k8).## Uninstall dynatrace-operator
> For instructions on how to uninstall the dynatrace-operator on Openshift,
> head to the [official help page](https://docs.dynatrace.com/docs/setup-and-configuration/setup-on-k8s/guides/operation/update-uninstall-operator#uninstall-dynatrace-operator)Clean-up all Dynatrace Operator specific objects:
```sh
kubectl delete -f https://github.com/Dynatrace/dynatrace-operator/releases/latest/download/kubernetes.yaml
```If the CSI driver was installed, the following command is required as well:
```sh
kubectl delete -f https://github.com/Dynatrace/dynatrace-operator/releases/latest/download/kubernetes-csi.yaml
```## Hacking
See [HACKING](HACKING.md) for details on how to get started enhancing Dynatrace Operator.
## Contributing
See [CONTRIBUTING](CONTRIBUTING.md) for details on submitting changes.
## License
Dynatrace Operator is under Apache 2.0 license. See [LICENSE](LICENSE) for details.