3 posts tagged with "Kubernetes"
View All TagsThe native Kubernetes autoscaling integration now annotates worker pods with pod-deletion-cost before scaling in, so the ReplicaSet controller deletes idle pods first instead of picking victims blindly. Busy pods are protected proportionally to the age of their oldest running job. The annotation pass is best-effort and requires optional list/patch RBAC on pods; without it, scaling proceeds as before with a warning.
New features
- Before a scale-in, worker pods are annotated with controller.kubernetes.io/pod-deletion-cost.
- Idle pods get cost 0 and are deleted first; busy pods get 10 + the age of their oldest running job in seconds (capped at 1 day).
- Best-effort: missing RBAC, API or DB errors never fail the scaling operation, it falls back to the previous behavior with a warning.
- Requires optional list and patch permissions on pods; the autoscaling health check now warns (non-fatally) if they are missing.
- Honored on Kubernetes 1.22+ where the PodDeletionCost feature gate is enabled by default.
Manage Windmill instance configuration declaratively with YAML files, a Kubernetes operator, or the CLI. Version-control, review, and reproduce your setup across environments.
New features
- Declarative YAML configuration for global settings and worker groups.
- Kubernetes operator with ConfigMap-based continuous reconciliation and drift detection.
- sync-config CLI command for Docker Compose and VM deployments.
- Secret references via envRef (environment variables) and secretKeyRef (Kubernetes Secrets API).
- Export current instance configuration as YAML from the UI or CLI.
Windmill autoscaling now supports native Kubernetes integration, providing easier setup, improved reliability, and enhanced security compared to custom script-based solutions.
New features
- Native Kubernetes autoscaling without custom scripts.
- Automatic worker-group, namespace and credentials inference.
- RBAC-based security with deployment scaling permissions.
- Health check validation for proper configuration.
- Seamless integration within existing Kubernetes clusters.