kubernetes/kubernetes
Production-Grade Container Scheduling and Management
How kubernetes is put together
This is the Kubernetes core repository (k8s.io/kubernetes), a large Go monorepo implementing the Kubernetes control plane binaries (kube-apiserver, kube-controller-manager, kube-scheduler, kubelet, kube-proxy, cloud-controller-manager) plus developer tooling. It uses a Go workspace (go.work) with in-tree 'staging' modules (k8s.io/api, apimachinery, client-go, etc.) that are replace-directived back into the tree and published separately by a publishing bot. Data flow centers on control-plane components talking to etcd via the API server's REST interface; the repo itself contains no datastore code beyond etcd clients. A substantial hack/ directory of shell scripts drives codegen, verification, linting, and testing, while build/ and cluster/ handle release packaging and cluster bring-up.
Languages
Frameworks
Datastores
Infrastructure
Major components
kube-apiserver (cmd/kube-apiserver)
Serves the cluster management REST API and acts as the master control-plane entry point.
cloud-controller-manager (cmd/cloud-controller-manager)
Runs cloud-provider-dependent controller loops, initializing providers from a cloud config file and allowing per-provider controller registration.
Staging published modules (staging/src/k8s.io/*)
In-tree copies of publishable libraries (api, apimachinery, client-go, component-base, etc.) wired via replace directives and exported by publishing-bot.
import-boss (cmd/import-boss)
Enforces .import-restrictions rules (allowed/forbidden import prefixes, transitive and inverse rules) across packages.
apidiff-changelog (hack/apidiff-changelog)
Compares Go API surfaces between git revisions with apidiff and inserts or verifies incompatible-change entries in module CHANGELOG.md files.
Verification & codegen harness (hack/)
Shell-script suite for verifying boilerplate, licenses, vendoring, linting, typechecking, metrics naming, OpenAPI specs, and running update-codegen/update-vendor workflows.
Release & build pipeline (build/)
Scripts to build cross-platform binaries, package tarballs, and produce release images inside containers.
Cluster bring-up tooling (cluster/)
Scripts (kube-up.sh, kube-down.sh, get-kube.sh) to provision and tear down local/test clusters and fetch binaries.
Release bookkeeping dominated as changelogs were updated for multiple version releases including the v1.37.0-rc.1 candidate, with a handful of race-condition and cleanup fixes merged.
5 weeksWeek of 2026-08-17
Week of 2026-08-17latest
Release bookkeeping dominated as changelogs were updated for multiple version releases including the v1.37.0-rc.1 candidate, with a handful of race-condition and cleanup fixes merged.
Week of 2026-08-10
The toolchain moved up to Go 1.26.6 while several long-standing flaky tests were fixed and small correctness improvements landed in DRA and configuration documentation.
Week of 2026-08-03
Release engineering took center stage with the v1.37.0-rc.0 candidate and publishing rules for the new branch, while PodLevelResourceManagers was disabled by default due to critical issues.
Week of 2026-07-27
A busy stabilization week with dozens of test and infrastructure fixes, including cloud image upgrades, dependency pins, and cleanups of obsolete example tests.
Week of 2026-07-20
The largest week by far delivered significant feature work—notably the scheduler's PreQueueingHint extension point and DRA compatibility groups—alongside broad flaky-test and kubelet reliability fixes.
Over the past five weeks the Kubernetes project has been in release-preparation mode for v1.37, shipping a release candidate and updating changelogs for several supported versions while also backporting fixes to older branches. A large share of activity went into stabilizing flaky tests across the scheduler, kubelet, storage (DRA), and networking areas, alongside meaningful feature work like the scheduler's new PreQueueingHint extension point and DRA compatibility groups. Tooling and infrastructure upkeep—Go version upgrades, test image bumps, and CI fixes—rounded out each week.
Week by week
2026-08-17Release bookkeeping dominated as changelogs were updated for multiple version releases including the v1.37.0-rc.1 candidate, with a handful of race-condition and cleanup fixes merged.latest6 changes
Chore
Release changelog updates
Changelog directories were refreshed for the v1.35.8, v1.34.11, v1.36.4, and v1.37.0-rc.1 releases.
Fix
Scheduler metrics race fix
A data race in the TestPreQueueingHint_Metrics test was fixed so metric results are recorded reliably.
Chore
Pod certificate deployment test hardening
The pod certificate test now waits for both server and client components to be deployed before running, reducing false failures.
Chore
Event test diagnostic logging
Event details are now logged when the event compatibility test fails, making it easier to diagnose flakes.
Fix
Kubelet plugin socket cleanup error handling
Socket cleanup errors in the kubelet plugin are now joined correctly instead of reporting the primary error twice.
Fix
Resource claim template copying
Template annotations are now copied before creating resource claims so metadata isn't lost.
2026-08-10The toolchain moved up to Go 1.26.6 while several long-standing flaky tests were fixed and small correctness improvements landed in DRA and configuration documentation.6 changes
Chore
Go upgraded to 1.26.6
The project's Go version was bumped to 1.26.6 across the codebase.
Fix
Resource claim template annotations preserved
Annotations from claim templates are now copied onto newly created resource claims.
Chore
Scheduler metrics races fixed
Two scheduler tests that raced on metric flushing were made deterministic.
Fix
Windows path escaping fix
Backslash escaping on Windows was corrected to prevent path handling errors.
Docs
Minimum compatibility version documented
Minimum compatibility version information is now included in the feature gates YAML output.
Chore
StatefulSet e2e readiness wait added
A statefulset end-to-end test was missing a wait for pods to become ready, which could cause spurious failures; it now waits properly.
2026-08-03Release engineering took center stage with the v1.37.0-rc.0 candidate and publishing rules for the new branch, while PodLevelResourceManagers was disabled by default due to critical issues.6 changes
Chore
v1.37.0-rc.0 prepared
The changelog directory was updated for the first release candidate of Kubernetes 1.37.
Chore
Publishing bot rules updated
Publishing rules were added for the release-1.37 branch and dropped for the now end-of-life 1.33 release.
Fix
PodLevelResourceManagers disabled by default
The alpha PodLevelResourceManagers feature was turned off by default because critical issues were found.
Chore
Memory PSI node test fixed
The memory pressure-stall node e2e test was repaired and an unnecessary CRI-O skip removed.
Chore
Event compatibility failure diagnostics
Event details are logged when the event compatibility test fails to speed up debugging.
Chore
Coverage collection scoped to main workspace
Unit test coverage is now collected only for the main workspace, fixing the coverage CI job.
2026-07-27A busy stabilization week with dozens of test and infrastructure fixes, including cloud image upgrades, dependency pins, and cleanups of obsolete example tests.6 changes
Chore
Node OS image upgraded to COS 129 LTS
Test nodes moved to the cos-129-lts image family running containerd v2.2.
Chore
Test images bumped
Common e2e test images (agnhost 2.66.1, nginx, glibc-dns-testing) were updated.
Fix
GCE image family selection fixed
Cluster startup now picks exactly one image when a GCE image family lists multiple candidates.
Chore
cel-go pinned to v0.29.2
The cel-go dependency was pinned to avoid unwanted version drift.
Refactor
Preemption tests split out
PodGroup preemption integration tests were moved into their own package for cleaner organization.
Fix
Obsolete e2e examples cleaned up
The mysql-galera and zookeeper statefulset e2e tests were dropped and the cockroachdb example was fixed to actually work.
2026-07-20The largest week by far delivered significant feature work—notably the scheduler's PreQueueingHint extension point and DRA compatibility groups—alongside broad flaky-test and kubelet reliability fixes.6 changes
Feature
Scheduler PreQueueingHint extension point
A new extension point lets plugins narrow which pods get evaluated when cluster events occur, improving scheduling efficiency.
Feature
DRA compatibility groups API
CompatibilityGroups were added to the resource.k8s.io API so device drivers can declare version-skew constraints, with safety checks during pool gathering.
Refactor
Kubelet probe workers decoupled
Probe workers no longer block on the pod sync context, improving kubelet responsiveness under load.
Feature
Rootless containers promoted to beta
Rootless container support moved forward in maturity as part of KEP-5963 device compatibility work.
Fix
DRA pod stuck termination fix
A bug where pods could get stuck terminating due to DRA resource handling was resolved.
Fix
HostUsers sysctl allowlist default fixed
The kubelet's sysctl admission logic now applies the correct hostUsers default, preventing misconfigured security settings.
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 0 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required