Kubernetes

Kubernetes v1.30 New Features

Stay up-to-date with the latest features in Kubernetes v1.30. Learn about dynamic resource allocation and the improvements in resource management.

Quick Summary

  • The updated, still-beta support for swap on Linux nodes will be available by default, with a default behavior of running the node set to NoSwap mode.
  • To address this problem, Kubernetes is introducing a new model that allows drivers to manage resources and describe them using a specific “structured model”.
  • This feature enables the creation of authorization chains with multiple webhooks with well-defined parameters that validate requests in a particular order and allows fine-grained control – such as explicit Deny on failures.

Kubernetes is an exciting technology in production and in the home lab that is continually evolving. Kubernetes v1.30 is set to bring many exciting changes. Among these changes are new features in alpha, established features that are making their way to “stable,” and long-awaited improvements. Here are some of the enhancements we are excited about in this upcoming release.

Kubernetes 130
Kubernetes v1.30

1. Structured Parameters for Dynamic Resource Allocation

Dynamic resource allocation, an alpha feature in v1.26, offers an alternative to the traditional device-plugin API for requesting access to third-party resources. However, this approach poses a problem for higher-level controllers that need to make decisions for a group of pods.

To address this problem, Kubernetes is introducing a new model that allows drivers to manage resources and describe them using a specific “structured model” pre-defined by Kubernetes. This will allow components aware of this “structured model” to make decisions about these resources without outsourcing them to some third-party controller, leading to faster allocation of claims.

2. Node Memory Swap Support

In Kubernetes v1.30, memory swap support on Linux nodes is getting a big change to how it works, with an emphasis on improving system stability. The updated, still-beta support for swap on Linux nodes will be available by default, with a default behavior of running the node set to NoSwap mode. However, the big change is the other mode: LimitedSwap.

In this mode, the kubelet actually uses the page file on that node and allows Pods to have some of their virtual memory paged out. Containers (and their parent pods) do not have access to swap beyond their memory limit, but the system can still use the swap space if available.

3. Support for User Namespaces in Pods

User namespaces is a Linux-only feature that better isolates pods to prevent or mitigate several CVEs rated high/critical. In Kubernetes 1.30, support for user namespaces is migrating to beta and now supports pods with and without volumes, custom UID/GID ranges, and more!

4. Structured Authorization Configuration

Support for structured authorization configuration is moving to beta and will be enabled by default. This feature enables the creation of authorization chains with multiple webhooks with well-defined parameters that validate requests in a particular order and allows fine-grained control – such as explicit Deny on failures. The configuration file approach even allows you to specify CEL rules to pre-filter requests before they are dispatched to webhooks, helping you to prevent unnecessary invocations.

5. Container Resource-Based Pod Autoscaling

This feature allows for automatic scaling based on individual container resource usage rather than the aggregate usage of the entire pod. This feature will be graduating to stable in version 1.30, so be sure to check it out if you’re interested.

6. Common Expression Language (CEL) for admission control.

This new feature allows for a more dynamic evaluation of admission requests, which can be used to define and enforce complex, fine-grained policies at the cluster level. This feature helps enhance security and governance capabilities without impacting performance or flexibility.

The information about the upcoming changes in Kubernetes v1.30 cycle is sourced from the official Kubernetes Blog.

Learn how to install Kubernetes in Ubuntu 22.04: How to Install Kubernetes in Ubuntu 22.04 with Kubeadm.

Subscribe to VirtualizationHowto via Email 🔔

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Brandon Lee

Brandon Lee is the Senior Writer, Engineer and owner at Virtualizationhowto.com and has over two decades of experience in Information Technology. Having worked for numerous Fortune 500 companies as well as in various industries, Brandon has extensive experience in various IT segments and is a strong advocate for open source technologies. Brandon holds many industry certifications, loves the outdoors and spending time with family.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.