Skip to content

Commit b3ce1f7

Browse files
jLopezbarbclaude
andcommitted
docs: document addSafeToEvictAnnotation and 1.49 default change (DEV-1467)
Add an `addSafeToEvictAnnotation` reference entry to the Helm configuration page describing the `enabled`/`value` fields, the YAML snippet, and the impact of each combination on the Kubernetes cluster autoscaler. Add a 1.49.0 release note covering the default flip from `value: true` to `value: false` and how to restore the previous behavior. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Javier Lopez <javier@okteto.com>
1 parent 6dc7d32 commit b3ce1f7

2 files changed

Lines changed: 35 additions & 0 deletions

File tree

‎src/content/release-notes.mdx‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,18 @@ id: release-notes
77

88
import Image from '@theme/Image';
99

10+
## 1.49.0
11+
12+
<!-- TODO(release): confirm the release date and the compatible Okteto CLI version (3.24.x is a placeholder) before cutting 1.49 -->
13+
October 2026
14+
15+
This version is compatible with Kubernetes versions 1.33 to 1.35 \
16+
Okteto Chart release 1.49 is designed to work with [Okteto CLI 3.24.x](https://github.com/okteto/okteto/releases)
17+
18+
### Important Notes {#important-notes-1.49}
19+
20+
- **`safe-to-evict` annotation now defaults to `false`**: Okteto marks the pods it creates in development Namespaces as not safe to evict, so the Kubernetes cluster autoscaler no longer scales down nodes that run active development sessions. Previously these pods were marked safe to evict, which could restart development services during scale-down. To restore the previous behavior, set [`addSafeToEvictAnnotation.value`](self-hosted/helm-configuration.mdx#addsafetoevictannotation) to `true` <!-- DEV-1467, app#10402 -->
21+
1022
## 1.48.0
1123

1224
4 September 2026

‎src/content/self-hosted/helm-configuration.mdx‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -796,6 +796,29 @@ The webhook service. Ingress creation, generation of hostnames, enforcement of p
796796

797797
## Advanced Configuration
798798

799+
### addSafeToEvictAnnotation
800+
801+
Controls the [`cluster-autoscaler.kubernetes.io/safe-to-evict`](https://kubernetes.io/docs/reference/labels-annotations-taints/#cluster-autoscaler-kubernetes-io-safe-to-evict) annotation that Okteto adds to the pods it creates in development Namespaces.
802+
803+
- `enabled`: Whether Okteto adds the annotation. Enabled by default. If a pod already carries the annotation, Okteto keeps the existing value.
804+
- `value`: The value Okteto sets for the annotation, `true` or `false`. Defaults to `false`.
805+
806+
```yaml
807+
addSafeToEvictAnnotation:
808+
enabled: true
809+
value: false
810+
```
811+
812+
The annotation controls whether the Kubernetes cluster autoscaler may evict a pod when it scales down the node running it:
813+
814+
- `enabled: true`, `value: false` (default): marks Okteto pods as not safe to evict. The autoscaler will not scale down a node that runs one of these pods, regardless of the pod's shape. This keeps active development sessions stable, at the cost of slower node scale-down and potentially higher infrastructure cost.
815+
- `enabled: true`, `value: true`: marks Okteto pods as safe to evict, even when the autoscaler would otherwise protect them (for example, pods with local storage). This favors aggressive scale-down and cost savings, at the cost of development sessions restarting during scale-down.
816+
- `enabled: false`: Okteto does not add the annotation, and the autoscaler falls back to its own default heuristics. This does not reliably prevent eviction — for many pod shapes it behaves like `value: true` — so it is not equivalent to `value: false`. Use it when you want the cluster to decide.
817+
818+
:::note
819+
Before Okteto Chart 1.49, this annotation defaulted to `value: true`. To keep that behavior after upgrading, set `addSafeToEvictAnnotation.value` to `true`.
820+
:::
821+
799822
### affinity
800823

801824
Apply default affinities to pods deployed in namespaces created by Okteto.

0 commit comments

Comments
 (0)