This guide will show you how you can manually migrate from apiVersion: dynatrace.com/v1beta1
to apiVersion: dynatrace.com/v1beta5
of the DynaKube
.
Introduced in: Dynatrace Operator version 0.3.0
Deprecated in: Dynatrace Operator version 1.6.0
Last supported in: Dynatrace Operator version 1.6.2
Introduced in: Dynatrace Operator version 1.6.0
When migrating your DynaKube, remember to update the apiVersion
field as well as any other fields that have changed
metadataEnrichment
sectionThe feature-flag for enabling metadata-enrichment (feature.dynatrace.com/metadata-enrichment: true/false
) was moved to a dedicated field:
apiVersion: dynatrace.com/v1beta5kind: DynaKubemetadata:name: examplenamespace: dynatracespec:metadataEnrichment:enabled: true # replaces feature.dynatrace.com/metadata-enrichment: true#...
dynatraceApiRequestThreshold
fieldThe feature-flag for controlling how often Dynatrace Operator can ping the Dynatrace API (feature.dynatrace.com/dynatrace-api-request-threshold: <number>
) was moved to a dedicated field:
apiVersion: dynatrace.com/v1beta5kind: DynaKubemetadata:name: examplenamespace: dynatracespec:dynatraceApiRequestThreshold: 10 # replaces feature.dynatrace.com/dynatrace-api-request-threshold: "10"#...
secCompProfile
field for OneAgentThe feature flag that controls which seccomp profile the OneAgent DaemonSet uses (feature.dynatrace.com/oneagent-seccomp-profile:example
) has been moved to a dedicated field:
apiVersion: dynatrace.com/v1beta5kind: DynaKubemetadata:name: examplenamespace: dynatracespec:oneAgent:hostMonitoring:secCompProfile: example # replaces feature.dynatrace.com/oneagent-seccomp-profile: "example"#...
The feature flag that controlled how many mount attempts the CSI driver would make before stopping (feature.dynatrace.com/max-csi-mount-attempts: 5
) has been replaced with a timeout-based feature flag. This was done due to the difficulty of determining how many attempts equal a given timeout.
feature.dynatrace.com/max-csi-mount-timeout: "8m" # feature.dynatrace.com/max-csi-mount-attempts: "10"
spec.namespaceSelector
The spec.namespaceSelector
was moved to each feature subsection that it affects.
apiVersion: dynatrace.com/v1beta5kind: DynaKubemetadata:name: examplenamespace: dynatracespec:oneAgent:cloudNativeFullstack:namespaceSelector: ... # replaces spec.namespaceSelector# ...
autoUpdate
The spec.oneAgent.<mode>.autoUpdate: true/false
is deprecated in v1beta5
, so it shouldn't be used.
We recommend the following:
autoUpdate: true
, do not set image
, codeModulesImage
, or version
.apiVersion: dynatrace.com/v1beta5kind: DynaKubemetadata:name: examplenamespace: dynatracespec:cloudNativeFullstack: {} # same as autoUpdate: true# ...
autoUpdate: false
, set image
, codeModulesImage
or version
apiVersion: dynatrace.com/v1beta5kind: DynaKubemetadata:name: examplenamespace: dynatracespec:cloudNativeFullstack:image: ... # same effect as autoUpdate: falsecodeModulesImage: # same effect as autoUpdate: false# ...---apiVersion: dynatrace.com/v1beta5kind: DynaKubemetadata:name: examplenamespace: dynatracespec:cloudNativeFullstack:version: ... # replaces autoUpdate: false# ...
spec.applicationMonitoring.useCSIDriver
The spec.applicationMonitoring.useCSIDriver: true
has been removed.
The CSI driver is now used when installed as part of the Dynatrace Operator installation.
spec.kubernetesMonitoring
The deprecated field spec.kubernetesMonitoring
was removed in favor of using the current spec.activeGate
section. Here are an example that shows you before and after:
Before
apiVersion: dynatrace.com/v1beta1kind: DynaKubemetadata:name: examplenamespace: dynatracespec:kubernetesMonitoring:enabled: truereplicas: ...image: ...group: ...customProperties: ...resources: ...nodeSelector: ...tolerations: ...labels: ...env: ...#...
After
apiVersion: dynatrace.com/v1beta5kind: DynaKubemetadata:name: examplenamespace: dynatracespec:activeGate:capabilities:- kubernetes-monitoring #<-- explicitly enable Kubernetes monitoringreplicas: ...image: ...group: ...customProperties: ...resources: ...nodeSelector: ...tolerations: ...labels: ...env: ...#...
spec.routing
The deprecated field spec.routing
was removed in favor of using the current spec.activeGate
section. Here is an example that shows you before and after:
Before
apiVersion: dynatrace.com/v1beta1kind: DynaKubemetadata:name: examplenamespace: dynatracespec:routing:enabled: truereplicas: ...image: ...group: ...customProperties: ...resources: ...nodeSelector: ...tolerations: ...labels: ...env: ...#...
After
apiVersion: dynatrace.com/v1beta5kind: DynaKubemetadata:name: examplenamespace: dynatracespec:activeGate:capabilities:- routing #<-- explicitly enable routingreplicas: ...image: ...group: ...customProperties: ...resources: ...nodeSelector: ...tolerations: ...labels: ...env: ...#...