Skip to content

Commit 1b61517

Browse files
committed
chore(deps): update docs from repo source
Signed-off-by: kumahq[bot] <110050114+kumahq[bot]@users.noreply.github.com>
1 parent 7e29622 commit 1b61517

1 file changed

Lines changed: 61 additions & 0 deletions

File tree

app/assets/mesh/raw/UPGRADE.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,67 @@ The `kong-mesh-control-plane-kmesh` Role now includes the `list` verb for `cert-
1616
{:.info}
1717
> The following notes are extracted from [Kuma's UPGRADE.md](https://github.com/kumahq/kuma/blob/master/UPGRADE.md)
1818
19+
### Inbound listeners now use SO_REUSEPORT by default
20+
21+
The data plane now advertises the `feature-reuse-port` capability to the control plane, which causes inbound Envoy listeners to be generated with `enable_reuse_port: true`. This lets each Envoy worker thread own its own listen socket, improving connection distribution under load.
22+
23+
**Note:** `enable_reuse_port` cannot be changed on a running Envoy listener. If a data plane is upgraded and the flag later toggled, the listener will not pick up the change until the data plane restarts.
24+
25+
**Action required:**
26+
27+
None for most users. If your environment has known issues with `SO_REUSEPORT` (e.g. certain Linux kernel versions or network configurations), disable the feature before upgrading using the instructions below.
28+
29+
**Kubernetes — injected sidecars**
30+
31+
Create a `ContainerPatch`:
32+
33+
```yaml
34+
apiVersion: kuma.io/v1alpha1
35+
kind: ContainerPatch
36+
metadata:
37+
name: disable-reuse-port
38+
namespace: kuma-system
39+
spec:
40+
sidecarPatch:
41+
- op: add
42+
path: /env/-
43+
value: '{
44+
\"name\": \"KUMA_DATAPLANE_RUNTIME_REUSE_PORT_ENABLED\",
45+
\"value\": \"false\"
46+
}'
47+
```
48+
49+
Then set the annotation `kuma.io/container-patches` on deployments where it should be disabled:
50+
51+
```yaml
52+
"kuma.io/container-patches": "disable-reuse-port"
53+
```
54+
55+
or globally for all injected sidecars via control-plane configuration:
56+
57+
```
58+
KUMA_RUNTIME_KUBERNETES_INJECTOR_CONTAINER_PATCHES="disable-reuse-port"
59+
```
60+
61+
**Kubernetes — ZoneIngress and ZoneEgress**
62+
63+
`ContainerPatch` only applies to sidecars injected into user pods. The Helm chart does not expose an env-var override for the `kuma-ingress`/`kuma-egress` Deployments, so patch them directly:
64+
65+
```bash
66+
kubectl -n kuma-system set env deployment/kuma-ingress KUMA_DATAPLANE_RUNTIME_REUSE_PORT_ENABLED=false
67+
kubectl -n kuma-system set env deployment/kuma-egress KUMA_DATAPLANE_RUNTIME_REUSE_PORT_ENABLED=false
68+
```
69+
70+
If you manage Helm releases declaratively, add the env var via a kustomize patch or post-render step targeting the same Deployments.
71+
72+
**Universal**
73+
74+
Set the environment variable when running `kuma-dp` (data plane, zone ingress, or zone egress):
75+
76+
```bash
77+
KUMA_DATAPLANE_RUNTIME_REUSE_PORT_ENABLED=false kuma-dp run ...
78+
```
79+
1980
### MeshService propagation tracking switched to hashed keys
2081

2182
Auto-generated `MeshService` resources track which non-system labels were copied from a `Dataplane` so that the next reconcile can remove labels whose source has gone away. Previously the tracking entry stored the raw key name as a Kubernetes label *value*, which silently skipped any qualified-name key containing `/` or `.` (e.g. `app.example.com/tier`). Such labels were copied onto the `MeshService` but never tracked, so they persisted after the carrier `Dataplane` was removed.

0 commit comments

Comments
 (0)