How Can I Learn DevOps on a Budget as a Student?

0
16
Asked By TechExplorer42 On

I'm currently working on a personal project to learn about DevOps and implement these strategies in my real-life projects. I would love some feedback on my DevOps and deployment approach. Here's a quick overview of what I've set up:

- I have a running Kubernetes environment.
- My application (let's call it app.py) is ready to go.
- I created a Dockerfile that takes my app.py and runs it as a Flask app.
- A Helm chart is set up to deploy my app using this Docker image, and it runs fine on my local environment.
- For Docker image storage, I've decided to use GitLab's private Container Registry since it offers a free option (DockerHub charges for private repos).
- I've pushed both the Dockerfile and app.py to my GitLab repository and created a GitLab CI/CD pipeline to build and push the image to the registry with each code push.
- The pipeline automatically tags the images based on branch or commit IDs.
- My Helm chart then references this image URL in the values.yaml.
- To allow Kubernetes to pull from GitLab's private registry, I need to create a Kubernetes secret with my GitLab credentials. I'm considering storing these securely in Kubernetes as a Docker registry secret.
- This way, when I deploy the app using Helm, Kubernetes can authenticate with GitLab to pull the image without exposing any secrets.

I'm keen to know if there are any issues you see in this setup and whether this approach is considered standard in the industry. I'm primarily aiming to learn more about AWS but want to keep costs down, so I'm also looking for free alternatives. Thanks!

5 Answers

Answered By LearningNerd On

It’s refreshing to see someone who's really putting in the effort to learn instead of just asking vague questions. Great job connecting all these tools! Just make sure you understand your container build step fully. Do you know how containers work behind the scenes? I'm happy to provide more guidance once you share your thoughts.

Answered By ResourceGuide On

Check out this roadmap for a structured learning path: [DevOps Roadmap](https://roadmap.sh/devops). It can really help you in understanding the tools and skills you'll need to learn!

Answered By CuriousDev On

Good start! I’m in the same boat as you, so any suggestions on solid approaches would be fantastic.

Answered By CodeGuy88 On

Looks like you’ve got a solid base! Consider exploring AWS’s free tier for some practice. Also, if you're looking for cost-effective alternatives, check out Minikube or Kind for local Kubernetes clusters. I didn’t see any major issues with your current setup.

TechExplorer42 -

Thank you, I appreciate the tips!

Answered By DevOpsFanatic On

Have you considered how you'd recreate your cluster in case it gets corrupted? It might be worth looking into GitOps. Using Terraform can help you set up the cluster, and tools like FluxCD or ArgoCD (I prefer FluxCD) can help manage everything. This way, everything is versioned, and you won't be cheating by doing things manually.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.