Grace Nguyen, the Kubernetes 1.28 release lead, discusses the challenges and work behind the release, including API awareness of side-car containers and improvements in storage and pod termination policies. The podcast also explores job retry and admission web hooks in Kubernetes 1.28, lack of deprecations in the release, and the move to community-owned package repositories for sidecars in Kubernetes.
Kubernetes 1.28 introduces a standardized approach for implementing sidecar containers, enabling seamless integration of logging, metrics ingestion, and secrets management with the main application container.
Kubernetes 1.28 transitions from Google-owned package repositories to community-owned repositories, increasing community ownership, inclusiveness, and sustainability for managing and distributing package dependencies.
Deep dives
Sidecar containers are now natively supported in Kubernetes
Kubernetes 1.28 introduces a new feature that allows sidecar containers to be implemented in a more official and standardized way. In previous versions, sidecars were implemented using init containers and custom logic. Now, by setting a specific field in the init container restart policy, sidecar containers will be treated as independent entities with their own lifecycles. This enables use cases like logging, metrics ingestion, and secrets management to be seamlessly integrated with the main application container.
In an effort to increase community ownership and participation, Kubernetes is transitioning from Google-owned package repositories to community-owned repositories for Debian and RPM packages. This change allows for more inclusive contributions and removes the dependency on Google for package-related operations. While the Google repositories will still be accessible for the time being, the community-owned repositories provide a more sustainable and community-driven approach to managing and distributing package dependencies.
Improved pod replacement policy in jobs
Kubernetes 1.28 introduces an alpha feature that enhances the pod replacement policy in jobs. With this feature, users can define how fast the Kublet should bring up a new pod when an existing pod in a job terminates. This gives users more control over the behavior of job pods, allowing for smoother and more efficient execution of batch processing and AI/ML workloads. By fine-tuning the pod replacement policy, users can optimize resource utilization and ensure seamless workload execution.
Enhanced version skew support for control plane and nodes
In previous versions of Kubernetes, there were limitations on the version compatibility between the control plane and worker nodes. Kubernetes 1.28 expands the support for version skew, allowing control planes and worker nodes to have up to three minor versions difference. This capability simplifies the upgrade process and provides more flexibility for managing heterogeneous environments. With improved version skew support, administrators and developers can safely perform upgrades and ensure compatibility between control planes and worker nodes in Kubernetes clusters.
Guest is Grace Nguyen. Kubernetes 1.28 release lead and student at the University of Waterloo. Grace had to juggle exams and community work to bring Kubernetes 1.28 to life. We will get to know grace and learn what work went into release, where the theme come from and what's special about it
Do you have something cool to share? Some questions? Let us know: