Kubernetes v1.33, codenamed “Octarine” in homage to Terry Pratchett’s Discworld, was released on April 23, 2025. This milestone introduces 64 enhancements (18 stable, 20 beta, and 24 alpha) reflecting the project’s ongoing commitment to scalability, security, and developer experience.
One of the most anticipated features in Kubernetes 1.33 is the promotion of sidecar containers to stable status. Sidecar containers provide a native way to deploy companion processes alongside application containers within the same Pod. This pattern has been widely used in service mesh implementations, logging solutions, and other scenarios where auxiliary functionality needs to be tightly coupled with the main application.
An example of how to implement sidecar containers is the following:
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
labels:
app: myapp
spec:
replicas: 1
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: alpine:latest
command: ['sh', '-c', 'while true; do echo "logging" >> /opt/logs.txt; sleep 1; done']
volumeMounts:
- name: data
mountPath: /opt
initContainers:
- name: logshipper
image: alpine:latest
restartPolicy: Always
command: ['sh', '-c', 'tail -F /opt/logs.txt']
volumeMounts:
- name: data
mountPath: /opt
volumes:
- name: data
emptyDir: {}
With the stable implementation, sidecar containers can now be properly managed in their lifecycle, with Kubernetes ensuring they start before and terminate after the main application containers, addressing previous challenges with pod initialization and graceful shutdowns.
Kubernetes 1.33 also promotes in-place resource resizing for vertical scaling of Pods to beta status, addressing a long-standing limitation in the platform. Traditionally, changing resource allocations (CPU and memory) for running workloads required pod recreation, causing application disruption.
With this feature, administrators can now adjust resource allocations without disrupting the running application, enabling more flexible resource management in response to changing application demands. This capability is particularly valuable for stateful applications and databases where pod recreation introduces significant operational overhead.
The release brings enhanced support for service account tokens, with “bound service account token volumes” now reaching a stable status. This feature ensures API authentication uses industry-standard JWT tokens with proper audience and time bindings, significantly improving the security posture of Kubernetes deployments.
Kubernetes 1.33 now features a redesigned allocation system for Service IPs. Every type: ClusterIP
Service requires a unique IP address cluster-wide, with duplicate allocation attempts being rejected.
The enhanced allocator leverages two GA-status APIs: ServiceCIDR
and IPAddress
. This implementation enables cluster administrators to dynamically expand the IP address pool available for type: ClusterIP
Services by simply creating additional ServiceCIDR
objects.
Storage capabilities receive attention in this release with Container Storage Interface (CSI) migration reaching stable status for more volume plugins, simplifying the transition from in-tree storage drivers to the more flexible CSI architecture.
On the networking front, IPv4/IPv6 dual-stack networking continues to mature with additional configuration options and improved performance. Network policy logging moves to beta status, providing better visibility into network traffic controls.
Some old features are also deprecated or removed:
- Endpoints API: Deprecated in favor of EndpointSlices, which offer better scalability and support for modern features .
- gitRepo Volume Type: Removed due to security concerns; users should migrate to alternatives like initContainers with git clone operations .
- Host Networking for Windows Pods: Support withdrawn due to technical challenges .
Kubernetes v1.33 “Octarine” emphasizes stability, security, and operational efficiency. With features like native sidecar support, in-place pod resizing, and enhanced job management, it empowers developers and operators to build and manage robust, scalable applications. As Kubernetes continues to mature, these enhancements reflect the community’s dedication to addressing challenges in cloud-native environments.
For a comprehensive list of changes, refer to the official release notes.