ScalewaySkip to loginSkip to main contentSkip to footer section

ai-PULSE 2024 white paper - discover the insights!

Enhance Your Cluster with Kubernetes Elli (v1.31)

We’re thrilled to announce that Kapsule now supports Kubernetes v1.31 (Elli)! This release brings a host of powerful enhancements designed to strengthen your cluster’s security, stability, and efficiency. We are highlighting 10 key enhancements you could benefit from in upgrading your cluster today.

Security and Resource Management

Full Support for AppArmor

AppArmor now has full GA support in Kubernetes. You can define AppArmor profiles for your containers directly in the securityContext, providing an additional layer of security. This enhancement lets you restrict container access to resources using granular AppArmor profiles, enhancing your cluster's security posture. Managing AppArmor profiles within your Kubernetes configuration streamlines security management and ensures consistent enforcement across your deployments.

Metric Cardinality Enforcement

High-cardinality metrics can overwhelm monitoring systems, leading to inefficiencies and potential downtime. Kubernetes v1.31 introduces metric cardinality enforcement, allowing you to define allow lists for metric labels. Controlling the number of metric variations lets you maintain accurate and efficient monitoring while protecting your infrastructure from excessive load caused.

Addition of CDI Devices to the Device Plugin API

The Device Plugin API now includes support for Container Device Interface (CDI) devices, enabling developers to manage and allocate specialized hardware through the Kubernetes system. This allows for seamless integration and management of CDI devices in your cluster, improving resource management and isolation. Leveraging CDI devices enhances performance for workloads that require specialized hardware, such as AI and machine learning applications.

Storage and Networking

Improved Ingress Connectivity Reliability in Kube-proxy

This feature implements a mechanism in kube-proxy for load balancers to gracefully drain connections from terminating Nodes exposed by Services. This minimizes traffic disruption during Node terminations, especially during cluster autoscaling events. It also enhances the reliability of ingress traffic for Services with .spec.externalTrafficPolicy set to Cluster, ensuring smooth operations.

PersistentVolume Last Phase Transition Time

Understanding how long your PersistentVolumes take to transition between phases like Pending, Bound, and Released is crucial for optimizing storage performance. Kubernetes v1.31 adds a timestamp to the PersistentVolumeStatus, providing valuable insights into storage behavior. This enhancement lets you measure provisioning times, identify potential bottlenecks, and implement retention policies based on volume usage patterns. By generating metrics related to storage provisioning times, you can optimize your storage infrastructure and meet Service Level Objectives (SLOs).

Workload Scheduling

Retriable and Non-Retriable Pod Failures for Jobs

Gain more control over Job execution by defining retriable and non-retriable Pod failure conditions. This feature lets you prevent unnecessary retries for Pods destined to fail due to issues like software bugs, saving resources and time. You can also configure Jobs to ignore certain infrastructure-related failures, ensuring consistent execution even in the face of transient issues. This leads to more efficient Job management and resource utilization.

Elastic Indexed Jobs

Indexed Jobs are now more flexible, allowing you to modify the spec.completions field in tandem with spec.parallelism. This means you can adjust the number of Job completions dynamically without restarting the entire Job. You can scale your Job up or down as needed, adapting to changing workload requirements. This enhancement improves efficiency in managing Job resources and responding swiftly to varying computational demands.

Workload Management

PodHealthyPolicy for PodDisruptionBudget

Pod Disruption Budgets (PDBs) help maintain application availability during disruptions such as node maintenance or upgrades. The new PodHealthyPolicy lets you control the behavior of Pods that are running but not healthy. You can prevent evictions of unhealthy Pods when your application is already disrupted, ensuring a minimum level of service. Alternatively, you can specify whether unhealthy Pods should be evicted to facilitate cluster operations, giving you greater control over application availability during maintenance events.

Control Over Replica Ordinal Numbering in StatefulSets

This enhancement provides greater flexibility for managing StatefulSets by enabling control over the starting replica ordinal number. You can orchestrate complex StatefulSet migration scenarios across namespaces or Kubernetes clusters. Fine-tuning replica ordering is beneficial for applications that require specific startup sequences or for scenarios where replica identities need to be preserved during migrations, facilitating smoother rollouts and minimizing downtime.

Random Pod Selection on ReplicaSet Downscaling

Introducing randomness to Pod selection during ReplicaSet downscaling improves resilience and prevents cascading failures. Instead of always deleting newer Pods first, downscaling now considers a random selection. This enhancement distributes downscaling events more evenly across Pods, enhancing the robustness of your deployments. It avoids situations where newer Pods are consistently terminated, which can lead to uneven load distribution and potential performance issues.

Upgrade to Kubernetes v1.31 on Kapsule today and experience the benefits of these cutting-edge features!

Published on