Skip to content

v0.5.0: Startup hardening, max-pods support, and CI smoke tests

Choose a tag to compare

@kmadel kmadel released this 01 Mar 13:09
· 1 commit to main since this release

Release Notes

Summary

This release hardens pod-node startup reliability, adds CI validation for kubelet flag clamping, and improves operational diagnostics for vCluster Platform Auto Nodes.

Highlights

Reliability

  • Restored stable cgroup startup flow (unshare + helper scripts) used by systemd/kubelet bootstrap.
  • Added startup fail-fast checks in podnode-entrypoint.sh for required executables:
    • /entrypoint.sh
    • /usr/local/bin/podnode-clamp-allocatable.sh
    • /escape-cgroup.sh
    • /create-kubelet-cgroup.sh
  • If required scripts are missing, container exits with a clear error message instead of failing later in bootstrap.

Node Sizing Behavior

  • PODNODE_CPU and PODNODE_MEMORY continue to clamp kubelet allocatable via kubelet args patching.
  • PODNODE_PODS support remains enabled and sets kubelet --max-pods.
  • Kubelet arg patching remains idempotent (existing flags are replaced cleanly on reruns).

CI / Testing

  • Added GitHub Actions CI workflow (.github/workflows/ci.yaml) for:
    • shell syntax checks
    • clamp smoke test execution
  • Added smoke test (tests/smoke-clamp.sh) that verifies kubelet args updates include:
    • --kube-reserved
    • --system-reserved
    • --enforce-node-allocatable
    • reserved cgroup flags
    • --max-pods

Documentation

  • README updated with:
    • clarified behavior around allocatable vs capacity
    • runtime diagnostics commands for troubleshooting
    • vCluster Platform Auto Nodes NodeProvider guidance and env/resource mapping

Operator Notes

  • Use immutable image tags for NodeProvider updates.
  • Ensure NodeProvider sets:
    • PODNODE_CPU
    • PODNODE_MEMORY
    • PODNODE_PODS
  • Keep resources.requests == resources.limits for Guaranteed QoS.
  • In this model, CPU/memory allocatable is clamped from env values; CPU/memory capacity may still reflect host-detected values.