I've been in the DevOps field for a while, but most of my previous employers didn't use Kubernetes, so my experience with it is quite limited. Since I have many responsibilities and not a lot of free time, it's tough to work on side projects. I did manage to set up a basic k3s cluster at home using Raspberry Pis and ArgoCD last year, but I found it lacking in objectives and real-world application. I'm concerned about my career prospects without hands-on Kubernetes experience. Can anyone suggest useful ways to deepen my K8s knowledge in a limited timeframe? I prefer projects that let me build rather than just configure services. My background includes solid skills in AWS, databases, and security, plus I'm comfortable with TypeScript, Python, Bash, and a little Go.
1 Answer
One effective way to learn Kubernetes is to create a personal project. Try building a full-stack application with a frontend, backend, and database, all running on your k3s cluster. Implement an ingress controller to manage traffic, and use local storage for your database. You could also incorporate KEDA or Horizontal Pod Autoscaler for scaling.
This approach will teach you about ingresses, load balancing, scalable architectures, and even metric collection from the Kubernetes API. Don't forget to add observability tools like Grafana to visualize your data. Once it's running, put the system under load to see how it performs, optimize based on what you observe, and run your tests again. You'll gain practical skills that will directly apply to managing Kubernetes in a production environment, which is super valuable for your next job!

This sounds like a solid plan! Have you thought about making these projects open source? It could really showcase your experience while contributing to the community, or would getting a CKA certification be a better move?