The DevOps project | Kubernetes 1.31
Over the years, I have evolved my content in different forms. I created a YouTube channel where I have been creating different style of videos like, streams, workshops, CNCFMinutes, Videos on latest topics and now I am creating a DevOps Project!
DevOps Project
In this project, I will be having a Golang application and the database its using is postgres(On Kubernetes it will be CloudnativePG). Next is instrumenting the application with prometheus and the showing the fancy graphs inside Grafana. I will also showing the load testing using k6 and then scaling using hpa. The app will be using cert-manager and gateway API for https. In the end the CI, will be using GitHub Actions and CD will happen using ArgoCD. The most important part will be building a 0CVE base image and 0 CVE application image using Buildsafe and build happening using ko. The infra will be AKS or GKE created using ksctl(We will be using managed Kubernetes). Below is how the architecture would look like:
I hope this project will showcase a production ready setup in Kubernetes and then on top of this you will be able to expand the project like adding more services, using service mesh, chaos engineering and other tooling.
Kubernetes 1.31
Kubernetes 1.31 is out!!
As always you can try out first using this Killercoda scenario that I create after every release ->
Release Theme: "Elli," represented by a joyful dog mascot, celebrates the community spirit of Kubernetes as the project marks its 10-year anniversary.
Enhancements: 45 new enhancements in v1.31:
11 features graduated to Stable.
22 features entered Beta.
12 features graduated to Alpha.
Stable Features:
- AppArmor support is now GA.
- Improved ingress connectivity reliability for kube-proxy.
- Persistent Volume last phase transition time moved to GA.
Beta Features:
- nftables backend for kube-proxy.
- Persistent Volume Reclaim Policy is now always honored.
- Bound service account token improvements.
- Support for multiple Service CIDRs.
- Traffic distribution for Services.
- VolumeAttributesClass API for dynamic volume parameter modification.
Alpha Features:
- New Dynamic Resource Allocation (DRA) APIs for hardware management.
- Support for using OCI images as native volume mount inside the pod.
- Exposing device health information through Pod status.
- Finer-grained authorization based on selectors.
- Restrictions on anonymous API access.
Deprecations and Removals:
- Cgroup v1 moved to maintenance mode.
- Removal of the status.nodeInfo.kubeProxyVersion field.
- Final removal of all in-tree cloud provider integrations.
- Removal of specific in-tree provider feature gates and deprecated scheduler plugins.
A Huge thanks to the entire release team and do check out the official release blog.
What am I doing?
I have been creating a few videos and giving sessions mostly about Kubernetes multi tenancy on Loft Youtube channel. you can subscribe as I will also be creating more content there.
There is an amazing workshop coming to Kubesimpify that I am very excited about, it the Complete OpenTofu Workshop. Share as much as you can and do attend live to lean about OpenTofu in a practical way.
We also released a Kubernetes and AI using K8sgpt(CNCF Sandbox project) video on Kubesimplify by Kunal.
Upcoming talks:
ContainerDays - BUILDING SCALABLE CLOUD NATIVE AI APPS WITH WEBASSEMBLY and also I will b there at Sysdig booth where you can come to my booth sessions on multi cluster and CKS updates to win free copies of my CKA/CKS books.
KubeCon NA - I and Saloni got my CFP in for KubeCon NA, we are really excited about this and are looking forward speaking on - Cloud Native Sustainability Speedrun: Tools from Infrastructure to Application Level.
I am also working on next set of videos and courses. Time keeps flying in so I would request you to keep pushing me to do more and more :)
Awesome reads
Generating, transforming, and patching Kubernetes configuration with Kustomize - Kustomize is a unique and popular Kubernetes configuration tool that enables users to declaratively manage and modify Kubernetes configurations using a transformation-based approach, avoiding the complexity of parameter-driven templates and generators. Its ability to overlay patches and compose configurations makes it a powerful tool that complements other tools like Helm, offering flexibility while maintaining simplicity in Kubernetes configuration management.
Introducing Feature Gates to Client-Go: Enhancing Flexibility and Control - Kubernetes components and client-go now both use feature gates to manage feature rollouts, allowing incremental adoption and control over new capabilities. This mechanism in client-go v1.30 enables developers and users to safely enable or disable features on a per-process basis, making the adoption of client-go features more manageable and consistent with the existing Kubernetes feature gate approach.
I just want mTLS on Kubernetes - It discusses the mutual TLS (mTLS) encryption on Kubernetes without the complexity of a service mesh. It explores various approaches, including do-it-yourself, sidecar-based service meshes like Linkerd, and the newer node-based ambient mode in Istio, recommending ambient mode as the most efficient and straightforward solution for mTLS on Kubernetes with minimal overhead.
Kubernetes 1.31: Prevent PersistentVolume Leaks When Deleting out of Order - PersistentVolume (or PVs for short) are associated with Reclaim Policy. The reclaim policy is used to determine the actions that need to be taken by the storage backend on deletion of the PVC Bound to a PV. When the reclaim policy is
Delete
, the expectation is that the storage backend releases the storage resource allocated for the PV. In essence, the reclaim policy needs to be honored on PV deletion.Guide to GPU Sharing Techniques: vGPU, MIG and Time Slicing - Optimizing GPU utilization is crucial for accelerating AI and ML workloads, with techniques like Virtual GPU (vGPU), Multi-Instance GPU (MIG), and GPU Time-Slicing enabling multiple tasks or users to share a single GPU efficiently. Each method offers distinct advantages, such as dedicated resource allocation with vGPU, hardware-level partitioning with MIG, and dynamic task scheduling with Time-Slicing, allowing organizations to choose the best approach based on their specific needs for performance, scalability, and cost-effectiveness.
Learning resources/repositories
Nginx gateway fabric - NGINX Gateway Fabric provides an implementation for the Gateway API using NGINX as the data plane.
kube score - Kubernetes object analysis with recomendations for improved reliability and security. kube-score actively prevents downtime and bugs in your Kubernetes YAML and Charts. Static code analysis for Kubernetes.
jet pilot - JET Pilot is an open-source Kubernetes desktop client that focuses on less clutter, speed and good looks.
If you like my newsletter then care to subscribe for free and share in your network :)