Skip to content
Home ยป Best Kubernetes Projects for Beginners in 2024

Best Kubernetes Projects for Beginners in 2024

Kubernetes Projects for Beginners

This article lists the best Kubernetes projects for beginners looking to gain practical experience with the world’s best container orchestration tool!

What helped me the most in my 5 professional years in the cloud technology space was practical experience and sometimes you’re forced to gain this practical experience on your own. These 5 Kubernetes projects for beginners are projects that you can complete for FREE on your own computer.

I have personally completed all of these Kubernetes projects and I believe that they have been in strengthening my foundational knowledge of Kubernetes.

In case you’re not familiar with what Kubernetes is and how it’s so amazing, you can check out another article of mine before continuing this one that will help provide more context on the topic!

Kubernetes 101: Introduction and Prerequisites

1. Build a Kubernetes CI/CD Pipeline

Continuous Integration and Continuous Deployment are popular practices focused on improving software delivery throughout the software development life cycle through automation.

Being able to build a pipeline to seemlessly deliver new software into the cloud without any issues is an extremely desirable skill. Huge tech companies pay engineers a lot of money to manage these CI/CD pipelines alone.

A lot of the time these CI/CD pipelines end with deploying a containerized application into Kubernetes. Luckily you can build your own Kubernetes CI/CD pipeline with a simple containerized application and one of the following tools.

Continuous Integration Tools

  • Jenkins – Jenkins is the leading open source automation server designed to support building, deploying, and automating projects into the cloud.
  • CircleCI – CircleCI is another popular continuous integration tool that gracefully pairs with Github which is one of the most popular version control system cloud hosting tools.

Continuous Delivery Tools

  • Argo CD – Argo is my personal favourite and I use this continuous delivery tool almost every day for my Kubernetes pipelines. Admittedly I first fell in love because of the mascot but soon after I realized how awesome Argo CD is. They’re native to both Kubernetes and GitHub with a fully-loaded UI so it checked off all of my boxes.
  • Flux CD – Another popular continuous deliver option is Flux CD. I don’t have practical experience with Flux CD but I know it’ll be great for a beginner Kubernetes project.

2. Deploy an Operational Monitoring Solution to Your Kubernetes Cluster

Out of the box, Kubernetes does not offer a monitoring solution to provide a better look into your systems and help identify issues in your cluster. Implementing an operational monitoring solution to your Kubernetes cluster is obviously a requirement when working with Kubernetes in a production environment.

The goal here is to collect metrics and logs from various components in the Kubernetes cluster. These components include the Kubernetes nodes, pods, and services, and analyzing them to gain insights into the cluster’s behaviour.

The tool that I highly recommend to help get you started with an operational monitoring solution in your Kubernetes cluster is Prometheus. Here’s a link to another article of mine with an overview of Prometheus and how to simply deploy it into Kubernetes.

How To Collect Kubernetes Cluster Metrics With Prometheus

As a small challenge, the monitoring solution must have the ability to recognize a new application deployed into the Kubernetes cluster and alert you that something new has been deployed to your cluster.

3. Deploy a Kubernetes Service Mesh

A Kubernetes service mesh is a dedicated infrastructure layer designed to manage, observe, and control communication between microservices within a Kubernetes cluster. The main goal of a service mesh is to improve overall reliability, security, and observability of the microservices that make up a complex, distributed application.

In a complex production environment with a lot of moving pieces, implementing a Kubernetes service mesh is an industry standard. Even though a Kubernetes service mesh is extremely powerful when managing containerized applications at scale, it’s still beneficial to deploy one to your Kubernetes cluster to gain practical experience.

My favourite service mesh to work with in Kubernetes is Linkerd. Linkerd is both faster and smaller than any other available service mesh and considering that a service mesh works by deploying a sidecar container next your own containers in the same pod, these two traits are extremely important.

If you’re interested in deploying the Linkerd service mesh to your Kubernetes cluster, here’s another article of mine that provides a walkthrough on how to properly deploy Linkerd to your Kubernetes cluster.

How to Properly Deploy Linkerd Service Mesh to Kubernetes

4. Build Your Own Helm Chart

Helm is the most popular package manager for Kubernetes that helps take repeatable applications and services and deploys them into your Kubernetes cluster. When you go online looking for an application to deploy into your Kubernetes cluster, most of the time it will be managed with Helm.

Helm Charts are used to define, install, and upgrade even the most complex Kubernetes applications. When you use someone else’s Helm Chart, you often just need to fill out one configuration file to deploy the entire application into Kubernetes with your unique configurations. But what’s happening on the other end? How are all of these Kubernetes manifests built with just one configuration file? Create your own Helm Chart and find out!

When creating your own Helm Chart, you do not need to build your own application. You can use any containerized application that you’d like to deploy into Kubernetes.

As a small challenge, create your own Helm Chart that adds a Kubernetes ServiceAccount and a ServiceMonitor (works with Prometheus!) to your containerized application.

5. Deploy an External Load Balancer to Your Kubernetes Cluster

When working in a Kubernetes cluster, you’ll realize that all of your applications are internal and reside in a Kubernetes network. What if you need to expose your application to the world? This is obviously the case for all companies that leverage Kubernetes to manage their containerized applications.

Gaining practical experience with managing inbound internet traffic is extremely valuable. The ability to understand how the incoming load affects your applications and systems helps combat any load balancing issue that can occur when your application goes public.

To complete this project it’s easiest when working with a cloud provider such as Microsoft Azure or Amazon Web Services.

Wrapping up

In this article we looked at the 5 best Kubernetes projects for beginners to help eager cloud professionals gain practical experience with the world’s best container orchestration tool. Following through with any one of these Kubernetes project ideas will absolutely improve your knowledge and experience with Kubernetes.

Thank you so much for reading and I hope this article gave you the push to continue learning with Kubernetes! If you have any questions or suggestions, please add them in the comments section below.

Leave a Reply

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