proomt

Search

Search posts, papers, and topics

All posts

Kubernetes8 min readintermediate

Kubernetes v1.37: Hardening Container Storage with Bind Mount Options and EmptyDir Permissions

Summary

Kubernetes v1.37 adds two alpha‑level storage hardening knobs: per‑volume `bindMountOptions` (e.g. noexec, nosuid, nodev) that affect the bind‑mount the runtime creates, and an `emptyDir` `mode` field to set Unix permission bits (including the sticky bit). Together they let you enforce least‑privilege policies on writable volumes without init‑containers or CSI tricks.

  • Bind‑mount flags are now configurable per volume via `bindMountOptions`, covering emptyDir, PVs, ConfigMaps, Secrets, etc.; they are enforced by the container runtime and rejected on unsupported nodes.
  • `emptyDir.mode` lets you set directory permissions (e.g. 01777 for sticky‑bit /tmp semantics or 0750 for tighter access) directly in the pod spec.
  • Both features are behind the `VolumeBindMountOptions` and `EmptyDirVolumeMode` alpha gates; enable them on the API server and kubelet to use.
  • The changes address long‑standing security findings (e.g., inability to set noexec on emptyDir) and simplify compliance with benchmarks that require sticky‑bit or no‑exec mounts.

Writable volumes are a common attack surface in containers. Without `noexec`/`nosuid`/`nodev` flags, a compromised pod can drop binaries onto a shared volume and run them even with a read‑only root filesystem, breaking isolation guarantees. Likewise, the default 0777 mode on `emptyDir` lets any con…

6/10

Related reading

  1. Kubernetes v1.37: Pod-Level Resource Managers graduated to Beta

    Kubernetes v1.37 adds Pod‑Level Resource Managers to beta (off by default). The feature lets Kubelet’s Topology, CPU, and Memory managers consume pod‑level `.spec.resources` to reserve exclusive NUMA‑aligned CPUs/memory for primary containers while sidecars share a pod‑isolated pool. A new PodResources gRPC API now reports `cpu_ids` and `memory` per pod. Enable via the `PodLevelResourceManagers`…

    Kuberneteskubernetes.io2 min
  2. Kubernetes 1.37 Released: Stable Metrics API and Rootless Kubelet in Beta

    Kubernetes 1.37 (Garhwal) ships GA Metrics API, beta rootless kubelet, GA resilient watchcache, GA pod certificates, and a suite of alpha/beta features (workload‑aware scheduling, pod checkpoint/restore, StatefulSet Recreate strategy). The release focuses on stability, security, and AI/ML cost‑optimisation.

    InfoQinfoq.com2 minrelease
  3. Monitor TAS and gang scheduling for AI training in Kubernetes

    Kubernetes’ default scheduler can’t satisfy AI training’s need for low‑latency GPU interconnects and simultaneous pod start‑up. The blog explains how the open‑source Kueue job queue adds topology‑aware placement (using node labels like `topology.kubernetes.io/rack`) and how the Coscheduling plugin adds a permit phase that only binds a gang of pods when the full set is ready, preventing idle GPU r…

    Datadogdatadoghq.com19 min
  4. Introducing Filestore agent volumes: fully managed storage for agent workspaces

    Google Cloud adds Filestore agent volumes, a fully‑managed, elastic file‑system that automatically provisions isolated POSIX workspaces for GKE‑based AI agent sandboxes. Volumes attach in milliseconds, support RWX with file‑level locking, and charge only for used capacity with automatic tiering, aiming to cut cold‑start latency and storage waste for large‑scale agent fleets.

    Google Cloud Bloggoogle.com4 min
  5. Running OpenBao on Kubernetes with a CloudNativePG PostgreSQL backend

    Step‑by‑step recipe to run OpenBao (Vault fork) on Kubernetes using CloudNativePG as a password‑less, TLS‑authenticated PostgreSQL storage backend. Shows how to spin up a Kind cluster with the cnpg‑playground, deploy a 3‑node CNPG cluster with synchronous quorum replication, configure DatabaseRole‑based client certificates, set up pg_hba rules, and initialize OpenBao’s schema via a one‑off Job.

    CNCFcncf.io16 minHN2