docs: task class: improve_docs — add a kubernetes multi-environment example (#22548)
* docs: update docs/netdata-cloud-room-per-kubernetes-namespace * docs: clarify room assignment Kubernetes example * delete review sow * docs: restore room-assignment page structure * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: nedi-app[bot] <nedi-app[bot]@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Fotis Voutsas <fotis@netdata.cloud> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
nedi-app[bot] committed
May 27, 2026 at 11:11 UTC
ea4646c7593c954944e38dd6c1d8cfa5fe6d3a98
2 files changed
+52
docs/netdata-agent/configuration/organize-systems-metrics-and-alerts.md
+2
@@ -168,6 +168,8 @@ Add your own labels to categorize systems by any criteria you need.
168
169
5. Verify your labels at `http://HOST-IP:19999/api/v1/info`
170
171
+Use custom host labels such as `environment` with [Node Rule-Based Room Assignment](/docs/netdata-cloud/node-rule-based-room-assignment.md) to route Kubernetes Nodes into separate Rooms.
172
+
173
### Stream labels from Child to Parent
174
175
In Parent-Child setups, host labels automatically stream from children to the parent node. Access any child's labels through the parent at:
docs/netdata-cloud/node-rule-based-room-assignment.md
+50
@@ -105,3 +105,53 @@ You can view each Node's membership status in the Room's Nodes table under the "
105
Group membership can be either STATIC or RULE—these work independently. A node can belong to groups through STATIC assignments (added manually) or through RULE assignments (matched automatically). RULEs cannot override STATIC memberships, and removing a node's STATIC membership does not affect its RULE memberships.
106
107
:::
108
+
109
+<details>
110
+<summary><strong>Example: Kubernetes environments</strong></summary><br/>
111
+
112
+If you run multiple environments (such as dev, acc, and prod) in a single Kubernetes cluster, you can use custom host labels and room assignment rules to automatically route each environment's Nodes into separate Rooms.
113
+
114
+### Step 1 — Set host labels on child Nodes
115
+
116
+Use the Helm chart's `child.configs.netdata.data` override to add a `[host labels]` section to every child Node. Create (or edit) an `override.yml` file:
117
+
118
+```yaml
119
+child:
120
+ configs:
121
+ netdata:
122
+ data: |
123
+ [host labels]
124
+ environment = ${CLUSTER_ENV}
125
+```
126
+
127
+Deploy or upgrade with the override:
128
+
129
+```bash
130
+helm upgrade --install -f override.yml netdata netdata/netdata
131
+```
132
+
133
+Set `CLUSTER_ENV` to `dev`, `acc`, or `prod` per cluster (or node pool) via your deployment tooling. For more Helm chart options, see the [Kubernetes installation guide](/packaging/installer/methods/kubernetes.md) and the [Helm chart reference](https://github.com/netdata/helmchart#configuration).
134
+
135
+### Step 2 — Create one Room per environment
136
+
137
+In Netdata Cloud, create three Rooms — for example **Dev**, **Acc**, and **Prod**.
138
+
139
+### Step 3 — Create inclusion rules
140
+
141
+In each Room's **Nodes** tab, add an inclusion rule that matches the `environment` host label:
142
+
143
+| Room | Label | Operator | Value |
144
+|:-----|:--------------|:---------|:-------|
145
+| Dev | `environment` | equals | `dev` |
146
+| Acc | `environment` | equals | `acc` |
147
+| Prod | `environment` | equals | `prod` |
148
+
149
+Rules are evaluated in real time — as soon as a child Node connects with the matching label, it is assigned to the corresponding Room.
150
+
151
+:::note
152
+
153
+Netdata deploys one child Agent per Kubernetes **node**, not per namespace or workload, and Room assignment rules apply to that child Agent as a whole. This pattern works best when each environment runs on dedicated nodes or node pools. If environments share the same nodes, host-label rules cannot route namespaces on those nodes into different Rooms.
154
+
155
+:::
156
+
157
+</details>