Practical real-world hands-on projects to practice and learn Kubernetes implementations.
These Kubernetes projects will help you master Kubernetes and DevOps skills through practical implementations. Learn how to deploy clusters, deploy different types of applications, manage services, and troubleshoot applications in Kubernetes environments with these practical projects.
If you are planning to use this repo for learning, please hit the star. Thanks!
As part of our commitment to helping the DevOps community save money on Kubernetes Certifications, we continuously update the latest voucher codes from the Linux Foundation
🚀 CKA, CKAD, CKS, or KCNA exam aspirants can save 40% today using code 40NOV24CT at https://kube.promo/devops. It is a limited-time offer from the Linux Foundation.
The following are the best bundles to save 50% (up to $800 ) with code 40NOV24CT
- KCNA + KCSA + CKA + CKAD + CKS ($788 Savings): kube.promo/kubestronaut
- CKA + CKAD + CKS Exam bundle ($528 Savings): kube.promo/k8s-bundle
- CKA + CKS Bundle ($355 Savings) kube.promo/bundle
- KCNA + CKA ( $288 Savings) kube.promo/kcka-bundle
- KCSA + CKS Exam Bundle ($229 Savings) kube.promo/kcsa-cks
- KCNA + KCSA Exam Bundle ($203 Savings) kube.promo/kcna-kcsa
Note: You have one year of validity to appear for the certification exam after registration
In phase 1, we will deploy different types of applications by creating each object manually. If you are learning Kubernetes, this will help you relate each object to real-world setups. It will also help you understand complex Helm charts and create custom application manifests from scratch.
- 🛠️ Project 01: Kubernetes the Hard Way on AWS
- 📦 Project 02: Setup Self Hosted Kubeadm Cluster
- ☕ Project 03: Deploy Java App With MySQL on Kubernetes
- 📝 Project 04: Deploy WordPress on Kubernetes with Nginx and MySQL
You will learn the following from the hard way setup on AWS
- You'll get hands-on experience with Linux commands.
- You'll get hands-on with AWS CLI
- You will learn about systemd
- You'll learn how to generate and manage SSL/TLS certificates for secure communication between components.
- Encrypting data at rest.
- Networking
- As you're setting things up manually, you'll inevitably run into issues, which will teach you valuable troubleshooting skills.
Project Documentation: Kuberenetes the Hard Way on AWS
It is essential for a DevOps engineer to have a deep understanding of the various components that make up a Kubernetes cluster
Building and maintaining a self-hosted Kubernetes cluster provides valuable hands-on experience and exposes you to the system's complexities. This experience will help you better understand the cluster control plane and worker node components.
So We strongly suggest using a self-hosted kubernetes cluster during your learning process rather than using easily available solutions. Because Kubeadm allows you to access the VMs and provides the ability to troubleshoot and examine all the cluster components. With a multinode cluster, you can have a setup that mimics the real-world project setup.
Also, If you're preparing for the CKA or CKS exam, it's important to note that cluster management using Kubeadm is part of the exam syllabus.
Project Video: Setup Kubeadm Cluster
In this project, you will practically use the following key Kubernetes objects. It will help you understand how these objects can be used in real-world project implementations:
- Deployment
- HPA
- ConfigMap
- Secrets
- StatefulSet
- Service
- Namespace
It also covers key concepts such as:
- Startup, readiness, and liveness probes
- Consuming secret and configmap data using Environment Variables
- MySQL initialization script from ConfigMap to create tables
- Creating an application properties file from ConfigMap to be consumed by the app
Additionally, you will go through:
- Building a Java Spring Boot application using Maven
- Dockerizing the Java application and pushing it to Docker Hub
This is a simple but effective project to put your basics into practice. If you learn to work with one app effectively, you can deploy any number of apps. It's all about understanding how to use these objects correctly, and this guide is a good starting point for that.
Project Documentation: Deploy Java & MySQl Apps on Kubernetes
In this project you will learn the steps to deploy WordPress on Kubernetes cluster with Nginx and MySQL database.
It also covers key kubernetes objects such as:
- PersistantVolumeClaim (PVC) – This creates and attaches PVs to WordPress Applications and MySQL databases to store data.
- NetworkPolicy – Assign a network policy for MySQL to restrict its incoming traffic.
Other Objects include Deployment, Service, Statefulful, Secret, Configmap etc.
Project Documentation: Deploy WordPress on Kubernetes with Nginx and MySQL