Skip to content

Commit 2763dad

Browse files
authored
Clarify ExtendedDaemonSet migration prerequisites
Require Operator 1.30.0 for the safe migration, preserve edsMaxPodUnavailable in the native DaemonSet strategy, and scope resource verification to the migrated Agent workload.\n\nCONTP-1895
1 parent de6a047 commit 2763dad

1 file changed

Lines changed: 34 additions & 8 deletions

File tree

docs/extendeddaemonset_migration.md

Lines changed: 34 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,47 @@ EDS resources.
1111

1212
## Upgrade procedure
1313

14-
1. While running the last EDS-capable Operator release, disable EDS by removing
15-
`--supportExtendedDaemonset=true` or setting it to `false`. Remove any
16-
`--eds*` options as well.
17-
2. Wait for that Operator release to migrate the node Agent to a native
14+
1. Upgrade to Datadog Operator `1.30.0`, keeping EDS enabled during this
15+
upgrade. Version `1.30.0` is the last EDS-capable release and contains the
16+
migration that safely retires the Agent EDS and lets the native DaemonSet
17+
adopt its pods.
18+
2. If `--edsMaxPodUnavailable` is configured, preserve its value in the
19+
DatadogAgent before removing the EDS options:
20+
21+
```yaml
22+
spec:
23+
override:
24+
nodeAgent:
25+
updateStrategy:
26+
rollingUpdate:
27+
maxUnavailable: <edsMaxPodUnavailable-value>
28+
```
29+
30+
3. While running Operator `1.30.0`, disable EDS by removing
31+
`--supportExtendedDaemonset=true` or setting it to `false`. Remove the
32+
`--eds*` options after translating `--edsMaxPodUnavailable` as described
33+
above.
34+
4. Wait for Operator `1.30.0` to migrate the node Agent to a native
1835
DaemonSet. Confirm the DaemonSet is fully ready:
1936

2037
```shell
2138
kubectl -n <agent-namespace> get daemonset
2239
kubectl -n <agent-namespace> rollout status daemonset/<agent-name>
2340
```
2441

25-
3. Confirm that no ExtendedDaemonSet or ExtendedDaemonSetReplicaSet remains in
26-
the Agent namespace. Do not remove the EDS controller or CRDs until the
27-
native DaemonSet is healthy.
28-
4. Upgrade the Datadog Operator and remove the obsolete EDS controller and CRDs
42+
5. Confirm that the migrated Agent's ExtendedDaemonSet and its replica sets are
43+
gone. Other workloads may still use EDS resources in the same namespace.
44+
45+
```shell
46+
kubectl -n <agent-namespace> get extendeddaemonset <agent-name>
47+
kubectl -n <agent-namespace> get extendeddaemonsetreplicaset \
48+
-l extendeddaemonset.datadoghq.com/name=<agent-name>
49+
```
50+
51+
The first command should report `NotFound` and the second should return no
52+
resources. Do not remove the EDS controller or CRDs until the native
53+
DaemonSet is healthy.
54+
6. Upgrade the Datadog Operator and remove the obsolete EDS controller and CRDs
2955
if no other workload uses them.
3056

3157
Custom Operator Deployment manifests must not pass the removed EDS flags. Helm

0 commit comments

Comments
 (0)