Skip to content

Spread singleton workloads across Kubernetes nodes - #188

Open
import-pandas-as-numpy wants to merge 1 commit into
mainfrom
fix/staging-node-balancing
Open

Spread singleton workloads across Kubernetes nodes#188
import-pandas-as-numpy wants to merge 1 commit into
mainfrom
fix/staging-node-balancing

Conversation

@import-pandas-as-numpy

Copy link
Copy Markdown
Member

Summary

  • add reciprocal preferred pod anti-affinity between Discord and Mainframe
  • spread the two largest singleton workloads across Kubernetes nodes when capacity permits
  • retain single-node failover behavior by preferring, rather than requiring, separation

Background

The staging cluster placed Discord and Mainframe on the same 2 GiB node. They
currently consume about 293 MiB and 277 MiB respectively, contributing to node
usage above Kubernetes allocatable memory while the second node remains less
loaded.

Kubernetes does not continuously rebalance running pods, and neither deployment
currently expresses a placement preference. These pod-template changes cause a
rolling replacement when applied and make each workload prefer a hostname that
does not contain the other workload.

Scope

These are shared application manifests, so the preference applies wherever the
manifests are subsequently deployed, including staging and production. This PR
does not deploy or modify either cluster.

Resource requests and limits are intentionally excluded. Choosing accurate
values requires additional measurement, and the current system-pod reservations
on the 2 GiB nodes make that a separate capacity-planning change.

Validation

  • kubectl apply --dry-run=client --validate=strict for both deployments
  • /home/rem/github/vipyrsec/.tools/bin/prek-workspace run --all-files
  • git diff --cached --check

@import-pandas-as-numpy
import-pandas-as-numpy requested a review from a team as a code owner August 31, 2026 22:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant