I'm a software developer feeling a bit stagnant in my career lately. While I have good coding skills (as recognized by my previous employers), I realize that my knowledge isn't where it needs to be, especially in Docker and Kubernetes. I'd love to hear from others who might have been in a similar situation or from those who have mastered Docker and K8S. What are some effective ways to learn these technologies? I've tried online courses, like those on Udemy, but I often find myself just copying the instructor's code without it really sticking. I'm not in a rush to become an expert overnight, but I do want to improve my skills over time.
4 Answers
When I wanted to dive deeper into K8S, I grabbed three mini PCs off eBay and set up k3s, a lightweight version of K8S. It was easier to manage and really hands-on. I deployed a few apps and tools like Argo and Cert Manager. This approach helped me a ton since I learn best by doing! If you’re into practical setups, this could be a fantastic way for you too.
Practice deploying your apps in Docker containers right away. A good practice is setting up a Docker container for your database to mirror your production environment—this helps ensure you’re testing against the same system you’ll use live. It really aids in understanding and improving your development workflow!
If Docker is your starting point, focus on it first and maybe take on a small project on something like a Raspberry Pi. Use Docker Compose to manage multiple containers—that's a solid way to learn how they interact with each other. Once you're comfortable with Docker, transitioning to K8S will be much simpler.
I’d recommend starting with Linux basics before diving into Docker and K8S. Get comfortable with running services and deploying your apps on Linux. This foundation will help you understand Docker better, especially when you write your Dockerfiles. Once you grasp Docker, then move on to Kubernetes. It's crucial to learn the basic Kubernetes resources and write your manifests by hand before tackling tools like Helm or ArgoCD. Understanding what's under the hood makes a big difference! You don’t even need to buy new hardware; just run a Linux VM on your PC. For K8S, I'd suggest using managed services from cloud providers to ease your learning curve.
Absolutely! Jumping into K8S without knowing Docker and Linux is tough. Docker is definitely the way to start. Also, using something like Rancher Desktop could give you a quick setup for K8S and ease you into it.
Definitely! I’ve seen those mini PCs going for around $120 on Amazon. They’re great for small setups, and I’m working on something similar myself.