I'm purchasing a mini PC soon(3-4 months) as I don't have any personal device as of now for labbing. Till then I want to make a list of project ideas to work on that will enhance my resume as well as give myself a point to talk about in interviews regarding system administration or devops engineering.
Start With A Static Website
Host A Dynamic Website
HTTPS
Implement Basic Auth.
implement monitoring solutions like naemon, graylog
implement alerting solutions(Learn email server as a bonus)
glusterfs, nfs/efs, ceph, borg
Do all these with
manual instructions from command line
automated with bash scripting
Configuration Management Tool(Ansible)
Docker
Kubernetes
Sounds fun. What kind of mini PC are looking at? I am a big fan of used Dell wyse 5070 devices you find from $70, native Linux support, rather big community (easy to Google). Running one as a server and one as an mobile PC even.
One thing I would consider earlier is virtual machine hosting. Making it easy to setup, test, build and destroy a system without consequences. Virtual machines (and docker container, and more) are easy to setup and manage trough 'cockpit' and you can learn the command lines later when you need it.
Imo there is no point going directly into Industrie tools (kubernetes, docker, anisble) it may is better to first learn why they even exist by building systems the traditional way.
This is what I used when I first learning: https://serversforhackers.com/
For a really good practical project: build a website, then host it on your mini-PC and find a way to expose it to the internet. This will teach you a lot about DNS, proxying, building websites, managing the server (via some config management or container), monitoring, etc.
I found the way I learned was to install these technologies but also write my own apps that take advantage of them. This way you aren’t just playing with the technology but can also make insightful recommendations to others on that technology’s limitations.
I find the basic Linux stuff is learning by doing and reading docs, using search and asking around.
Docker has docs and also searchable examples and blogs.
But k8s is an IMHO artificially fenced off area. No matter where I ask, I receive no response or am met with arrogance and elitism.
I can't even get the simplest thing answered, which is "what is the minimum required setup for k8s, if not using a hosted solution? I plan to use 3cp 3w nodes and utilize all resources available. Do I NEED external storage, do I NEED an external load balancer or can I use DNS-LB?"
Official k8s forum - zero response. Reddit k8s - zero response and downvotes Home operations Discord - zero response
It's like this little well kept secret only select few have access to.
The documentation is also not clear on that subject, because I believe the big companies like Google and Amazon want to sell you their k8s offerings, which are super expensive, over 2k per month for a 5 node cluster are you kidding me