Cloud Native Digest: Kubernetes v1.30

KubeSphere
4 min readApr 22, 2024

--

Open source projects worth checking out

pv-migrate

pv-migrate is a CLI tool/kubectl plugin to easily migrate the contents of one Kubernetes PersistentVolumeClaim to another.

Claudie

claudie is a cloud-native Kubernetes management platform that provides multi-cloud and hybrid-cloud cluster management capabilities across multiple cloud providers and on-premises data centers. It allows you to create fully-featured Kubernetes clusters using Infrastructure as Code (IaC) with a simple YAML syntax. claudie supports fast scale-up and scale-down of infrastructure, has its own managed load-balancing solution, and offers persistent storage volumes with ready-to-use Storage Classes. It supports several cloud providers such as AWS, Azure, GCP, and more.

Capsule

The project is a Kubernetes-based multi-tenancy and policy-based framework. It aims to address the challenges of managing multi-tenancy in Kubernetes by introducing the concept of Tenants, which aggregate multiple namespaces into a lightweight abstraction layer to enable resource sharing and isolation. Capsule also provides features such as self-service, resource control, native experience, and compatibility with GitOps, aiming to simplify the deployment and management of multi-tenant environments.

cdk8s

cdk8s is an open-source software development framework for defining Kubernetes applications and reusable abstractions using familiar programming languages and rich object-oriented APIs. cdk8s apps synthesize into standard Kubernetes manifests which can be applied to any Kubernetes cluster.

Technical recommendations

Debugging Microservices Locally with mirrord

This article introduces the method of debugging microservices locally using mirrord. The author starts by discussing the importance of debugging code in Kubernetes clusters. Then, they introduce several popular local Kubernetes development tools, including Telepresence, Gefyra, and mirrord, and provide detailed explanations on why the author personally prefers mirrord. Next, the author explains the working principle and main features of mirrord, such as mirroring traffic from remote pods to local code, running a new application within the cluster, and pausing queues. The article also mentions the advanced version of mirrord for teams and highlights some considerations and challenges when using mirrord. Finally, the author shares a practical example of local debugging using mirrord and provides installation and deployment instructions.

From Kubernetes to Local Development

This article discusses the process of transitioning from Kubernetes to local development. The author begins by addressing the use of the Podman tool to run Kubernetes manifests locally, demonstrating how to run Pod definitions as Podman resources using the “podman kube play” command. The article then explores obtaining Pod definitions from an existing Kubernetes cluster and running them locally with Podman. The author highlights potential issues that may arise when running existing Pod definitions and provides solutions. The article also covers running Pods with network and storage configurations using Podman, along with considerations for cleanup and removal. Finally, the author mentions running Deployment and DaemonSet resources locally. Overall, this article serves as a practical guide with tips and techniques for transitioning from Kubernetes to local development.

No Restarts, No Disruptions: Seamless Pod Resource updates with In-Place Resizing

This article introduces a method for seamless Pod resource updates in Kubernetes without the need for restarts or interruptions. Traditional approaches to adjusting CPU and memory resources can result in Pod restarts and disrupt running workloads, leading to service degradation, downtime, and operational challenges. To address this issue, Kubernetes has introduced a feature called InPlacePodVerticalScaling, which allows for resizing CPU and memory resources in running Pod specifications by modifying the resource fields, thereby enabling Pod resource adjustments without restarts. This method offers advantages such as reducing downtime, improving resource utilization efficiency, enhancing flexibility, saving costs, and simplifying management. The article provides a detailed explanation of how to use the InPlacePodVerticalScaling feature for Pod resource adjustments, along with examples and step-by-step instructions.

What’s new in cloud native

Kubernetes v1.30: Uwubernetes

Announcing the release of Kubernetes v1.30: Uwubernetes, the cutest release!

Similar to previous releases, the release of Kubernetes v1.30 introduces new stable, beta, and alpha features. The consistent delivery of top-notch releases underscores the strength of our development cycle and the vibrant support from our community.

This release consists of 45 enhancements. Of those enhancements, 17 have graduated to Stable, 18 are entering Beta, and 10 have graduated to Alpha.

Expedia Opensources its Container-Startup-Autoscaler (CSA) for Kubernetes Workloads

Expedia’s Performance and Reliability team has recently open-sourced its container-startup-autoscaler (CSA). It is a Kubernetes controller leveraging the In-Place Update of Pod Resources feature to dynamically adjust CPU and/or memory resources of containers during startup based on user-defined startup/post-startup configurations.

AWS combines “building block” blueprints with CodeCatalyst for rapid project creation including DevOps

AWS has added Project Development Kit (PDK) blueprints to its CodeCatalyst DevOps tool. Developers can now compose applications from common patterns while also setting up DevOps resources — perhaps increasing interest in both projects.

CodeCatalyst, which was made generally available in April 2023, is an AWS DevOps service which is designed to be a complete integrated system, including source code management, build and test tools, continuous integration and continuous delivery (CI/CD), issue tracking and collaboration.

PDK is a hitherto separate project, open source on GitHub, which provides building block projects for common patterns, though only three languages are supported: TypeScript, Python or Java. The PDK is based on Projen, which is designed to automate project configuration.

About KubeSphere

KubeSphere is an open source container platform built on top Kubernetes with applications at its core. It provides full-stack IT automated operation and streamlined DevOps workflows.

KubeSphere has been adopted by thousands of enterprises across the globe, such as Aqara, Sina, Benlai, China Taiping, Huaxia Bank, Sinopharm, WeBank, Geko Cloud, VNG Corporation and Radore. KubeSphere offers wizard interfaces and various enterprise-grade features for operation and maintenance, including Kubernetes resource management, DevOps (CI/CD), application lifecycle management, service mesh, multi-tenant management, monitoring, logging, alerting, notification, storage and network management, and GPU support. With KubeSphere, enterprises are able to quickly establish a strong and feature-rich container platform.

To stay updated, visit our official website or follow us on Twitter.

--

--

KubeSphere

KubeSphere (https://kubesphere.io) is an open source distributed operating system providing cloud native stack with Kubernetes as its kernel.