Why I Use Kubernetes For My Homelab
Read full transcript 14 segments
-
I've been running a kubernetes home lab I've been running a kubernetes home lab for nearly two years and in this video for nearly two years and in this video for nearly two years and in this video I'm going to be explaining to you why I I'm going to be explaining to you why I I'm going to be explaining to you why I use kubernetes for my home lab the first use kubernetes for my home lab the first use kubernetes for my home lab the first point is real world complexity if you point is real world complexity if you point is real world complexity if you have a home Lab at home and if you're a have a home Lab at home and if you're a have a home Lab at home and if you're a serious devops cloud or infrastructure serious devops cloud or infrastructure serious devops cloud or infrastructure engineer you want to mimic your work engineer you want to mimic your work engineer you want to mimic your work environment in your home lab you want to environment in your home lab you want to environment in your home lab you want to ensure that the stuff that you do for ensure that the stuff that you do for ensure that the stuff that you do for your evening tinkering actually your evening tinkering actually your evening tinkering actually contributes to you becoming a better contributes to you becoming a better contributes to you becoming a better Craftsman and becoming better at your Craftsman and becoming better at your Craftsman and becoming better at your job so therefore kubernetes is a much job so therefore kubernetes is a much job so therefore kubernetes is a much better choice than instead of just better choice than instead of just better choice than instead of just running AVM with Dr compos on because running AVM with Dr compos on because running AVM with Dr compos on because that's easy and the first point I have that's easy and the first point I have that's easy and the first point I have here is yaml wrestling so tell you a here is yaml wrestling so tell you a here is yaml wrestling so tell you a quick story I once interviewed a quick story I once interviewed a quick story I once interviewed a candidate he had like 10 Azure candidate he had like 10 Azure candidate he had like 10 Azure certifications he had all the theory certifications he had all the theory certifications he had all the theory down pat and he could talk about it too down pat and he could talk about it too down pat and he could talk about it too but when I asked him did you do any but when I asked him did you do any but when I asked him did you do any projects did you ever build a pipeline projects did you ever build a pipeline projects did you ever build a pipeline he said no he he did not do any of the he said no he he did not do any of the he said no he he did not do any of the projects and even though the Microsoft projects and even though the Microsoft projects and even though the Microsoft learn has these like guided projects he learn has these like guided projects he learn has these like guided projects he admitted that he just clicked through admitted that he just clicked through admitted that he just clicked through them so instantly I knew this guy did them so instantly I knew this guy did them so instantly I knew this guy did not go through the process of wrestling not go through the process of wrestling not go through the process of wrestling with a yl file and we all go through with a yl file and we all go through with a yl file and we all go through this in the beginning where you're just this in the beginning where you're just this in the beginning where you're just messing around with the indentation and messing around with the indentation and messing around with the indentation and it doesn't work and it's a bit of Hell it doesn't work and it's a bit of Hell it doesn't work and it's a bit of Hell in the beginning and you need to go in the beginning and you need to go in the beginning and you need to go through that in the beginning in order through that in the beginning in order through that in the beginning in order to understand what that means and to get to understand what that means and to get to understand what that means and to get good at it and this you can do at home good at it and this you can do at home good at it and this you can do at home you don't need to do that at work you you don't need to do that at work you you don't need to do that at work you don't need to be a devops engineer to don't need to be a devops engineer to don't need to be a devops engineer to learn this learn this learn this stuff secondly it mirrors the Enterprise stuff secondly it mirrors the Enterprise stuff secondly it mirrors the Enterprise environments that you're going to be environments that you're going to be environments that you're going to be working in so kubernetes is although it working in so kubernetes is although it working in so kubernetes is although it can be used in a startup kind of can be used in a startup kind of can be used in a startup kind of environment kubernetes is more for like environment kubernetes is more for like environment kubernetes is more for like huge scalable environments and therefore huge scalable environments and therefore huge scalable environments and therefore it is much more Suited for larger it is much more Suited for larger it is much more Suited for larger Enterprise environments and therefore
-
Enterprise environments and therefore Enterprise environments and therefore even though you're doing it on a small even though you're doing it on a small even though you're doing it on a small scale at home it does help with the scale at home it does help with the scale at home it does help with the understanding of it even though you understanding of it even though you understanding of it even though you don't necessarily scale up and out your don't necessarily scale up and out your don't necessarily scale up and out your infrastructure dynamically all the time infrastructure dynamically all the time infrastructure dynamically all the time you do learn how to work with with you do learn how to work with with you do learn how to work with with kubernetes how the API Works how how kubernetes how the API Works how how kubernetes how the API Works how how yaml how the yaml objects should be yaml how the yaml objects should be yaml how the yaml objects should be defined and such like so it all defined and such like so it all defined and such like so it all contributes to your Enterprise work as a contributes to your Enterprise work as a contributes to your Enterprise work as a kubernetes infrastructure engineer kubernetes infrastructure engineer kubernetes infrastructure engineer secondly it differentiates you from secondly it differentiates you from secondly it differentiates you from others if you go into a a an interview others if you go into a a an interview others if you go into a a an interview and you're go in there and then you say and you're go in there and then you say and you're go in there and then you say yeah I have a five node kubernetes yeah I have a five node kubernetes yeah I have a five node kubernetes cluster running at home that run several cluster running at home that run several cluster running at home that run several applications for me 247 then at at least applications for me 247 then at at least applications for me 247 then at at least people know that you are capable of people know that you are capable of people know that you are capable of running kubernetes and that you are so running kubernetes and that you are so running kubernetes and that you are so passionate about it that you spend your passionate about it that you spend your passionate about it that you spend your free time doing it and rwx Rob if you free time doing it and rwx Rob if you free time doing it and rwx Rob if you don't know who this is rwx Rob um I don't know who this is rwx Rob um I don't know who this is rwx Rob um I highly recommend his channel he is a bit highly recommend his channel he is a bit highly recommend his channel he is a bit of a character but he is a like of a character but he is a like of a character but he is a like infrastructure engineer and go infrastructure engineer and go infrastructure engineer and go programmer he is such a good engineer programmer he is such a good engineer programmer he is such a good engineer and he speaks to CTO all the time and he and he speaks to CTO all the time and he and he speaks to CTO all the time and he constantly says that all those CTO will constantly says that all those CTO will constantly says that all those CTO will tell you that they would rather hire the tell you that they would rather hire the tell you that they would rather hire the guy who has a kubernetes cluster running guy who has a kubernetes cluster running guy who has a kubernetes cluster running in his basement than someone who has in his basement than someone who has in his basement than someone who has tons of certifications do with that tons of certifications do with that tons of certifications do with that information what you will and lastly um information what you will and lastly um information what you will and lastly um if you simulate real world complexity in if you simulate real world complexity in if you simulate real world complexity in your home lab you also have a safe place your home lab you also have a safe place your home lab you also have a safe place for mistakes on a Enterprise level so at for mistakes on a Enterprise level so at for mistakes on a Enterprise level so at at work it might feel I mean rightly so at work it might feel I mean rightly so at work it might feel I mean rightly so it might feel very scary to do changes it might feel very scary to do changes it might feel very scary to do changes on your kubernetes cluster and even
-
on your kubernetes cluster and even on your kubernetes cluster and even though you will probably have staging though you will probably have staging though you will probably have staging environments and such like when you're environments and such like when you're environments and such like when you're at home and nobody's watching and you're at home and nobody's watching and you're at home and nobody's watching and you're absolutely sure you can only destroy absolutely sure you can only destroy absolutely sure you can only destroy your own stuff then it feels a very like your own stuff then it feels a very like your own stuff then it feels a very like a very safe environment and this will a very safe environment and this will a very safe environment and this will help you to be a bit more bold and to help you to be a bit more bold and to help you to be a bit more bold and to actually take some risks like applying actually take some risks like applying actually take some risks like applying that file that you think maybe is going that file that you think maybe is going that file that you think maybe is going to go wrong but then you you would be to go wrong but then you you would be to go wrong but then you you would be more inclined to just try something that more inclined to just try something that more inclined to just try something that might break stuff and that's very might break stuff and that's very might break stuff and that's very important to get over that initial fear important to get over that initial fear important to get over that initial fear when you start out learning kubernetes when you start out learning kubernetes when you start out learning kubernetes now who is this not for so I'm like I now who is this not for so I'm like I now who is this not for so I'm like I said already I I specifically mentioned said already I I specifically mentioned said already I I specifically mentioned infrastructure devops Engineers Cloud infrastructure devops Engineers Cloud infrastructure devops Engineers Cloud Engineers but even as a developer Engineers but even as a developer Engineers but even as a developer software engineer you will do well in software engineer you will do well in software engineer you will do well in learning kubernetes so even if you are learning kubernetes so even if you are learning kubernetes so even if you are not necessarily an infrastructure not necessarily an infrastructure not necessarily an infrastructure engineer you will do well in in building engineer you will do well in in building engineer you will do well in in building a kubernetes home lab to get that a kubernetes home lab to get that a kubernetes home lab to get that experience that is very often required experience that is very often required experience that is very often required from you now if you want to apply for from you now if you want to apply for from you now if you want to apply for software engineering roles or even just software engineering roles or even just software engineering roles or even just to transition into devops I mean if to transition into devops I mean if to transition into devops I mean if you're a software engineer with several you're a software engineer with several you're a software engineer with several years of experience then devops is not years of experience then devops is not years of experience then devops is not going to be hard for you if you just put going to be hard for you if you just put going to be hard for you if you just put an effort into learning cloud and an effort into learning cloud and an effort into learning cloud and infrastructure you can find a devops job infrastructure you can find a devops job infrastructure you can find a devops job relatively relatively relatively easily so who is it not for well like if easily so who is it not for well like if easily so who is it not for well like if you heard about kubernetes and you don't you heard about kubernetes and you don't you heard about kubernetes and you don't really understand what it is and you really understand what it is and you really understand what it is and you don't necessarily want to have a career don't necessarily want to have a career don't necessarily want to have a career in infrastructure or working with server in infrastructure or working with server in infrastructure or working with server or Cloud infrastructure then probably or Cloud infrastructure then probably or Cloud infrastructure then probably you're better off to just run a VM with you're better off to just run a VM with you're better off to just run a VM with Dr compost on it if you're just a Dr compost on it if you're just a Dr compost on it if you're just a self-hosted if you just have a self-hosted if you just have a self-hosted if you just have a self-hosting hobby self-hosting hobby self-hosting hobby and all you're interested in is just and all you're interested in is just and all you're interested in is just have running a few containers and you have running a few containers and you have running a few containers and you don't necessarily want to become a
-
don't necessarily want to become a don't necessarily want to become a devops infrastructure Craftsman then devops infrastructure Craftsman then devops infrastructure Craftsman then this is probably Overkill because this is probably Overkill because this is probably Overkill because frankly kubernetes is overkill to run frankly kubernetes is overkill to run frankly kubernetes is overkill to run kubernetes at home is a huge Overkill kubernetes at home is a huge Overkill kubernetes at home is a huge Overkill you're it's much simpler to just have a you're it's much simpler to just have a you're it's much simpler to just have a VM with dock compost to run a few VM with dock compost to run a few VM with dock compost to run a few containers and it's it's totally over containers and it's it's totally over containers and it's it's totally over engineered but that's the fun of it engineered but that's the fun of it engineered but that's the fun of it that's the and that's where you that's the and that's where you that's the and that's where you learn the next point so that ties into learn the next point so that ties into learn the next point so that ties into the next Point skill development so the next Point skill development so the next Point skill development so there is this sense that oh a home lab there is this sense that oh a home lab there is this sense that oh a home lab is just a home lab or the stuff that you is just a home lab or the stuff that you is just a home lab or the stuff that you do at home doesn't count some people do at home doesn't count some people do at home doesn't count some people have this perception and I I totally have this perception and I I totally have this perception and I I totally disagree with that like that's is such a disagree with that like that's is such a disagree with that like that's is such a wrong way of thinking about it because wrong way of thinking about it because wrong way of thinking about it because the skills you use at work and the the skills you use at work and the the skills you use at work and the skills you're doing at your kubernetes skills you're doing at your kubernetes skills you're doing at your kubernetes home lab are exactly the same there's home lab are exactly the same there's home lab are exactly the same there's literally no difference to be frank I've literally no difference to be frank I've literally no difference to be frank I've learned most of my kubernetes learned most of my kubernetes learned most of my kubernetes engineering skills from playing with my engineering skills from playing with my engineering skills from playing with my home lab rather than applying it to home lab rather than applying it to home lab rather than applying it to Enterprise environments because the Enterprise environments because the Enterprise environments because the Enterprise environments have L less Enterprise environments have L less Enterprise environments have L less freedom and well I can go on about this freedom and well I can go on about this freedom and well I can go on about this but let let me believe me when I say but let let me believe me when I say but let let me believe me when I say that I learned most of my kubernetes that I learned most of my kubernetes that I learned most of my kubernetes infrastructure engineering skills from infrastructure engineering skills from infrastructure engineering skills from working in my kubernetes home lab that's working in my kubernetes home lab that's working in my kubernetes home lab that's running in my closet running in my closet running in my closet here and speaking of that like I can here and speaking of that like I can here and speaking of that like I can just give you a very very quick tour of just give you a very very quick tour of just give you a very very quick tour of the home lab so K get nodes this is my the home lab so K get nodes this is my the home lab so K get nodes this is my current setup and as you can see my current setup and as you can see my current setup and as you can see my current um home lab is 291 days old I'm current um home lab is 291 days old I'm current um home lab is 291 days old I'm running Talos Linux currently and I running Talos Linux currently and I running Talos Linux currently and I recently added a third worker node so recently added a third worker node so recently added a third worker node so and and I have been updating this um and and I have been updating this um and and I have been updating this um very regularly K get nodes o wide so
-
very regularly K get nodes o wide so very regularly K get nodes o wide so here we see that I'm currently running here we see that I'm currently running here we see that I'm currently running the latest version of Talos 1.8.2 and the latest version of Talos 1.8.2 and the latest version of Talos 1.8.2 and I'm running the latest version of I'm running the latest version of I'm running the latest version of kubernetes so I keep everything nicely kubernetes so I keep everything nicely kubernetes so I keep everything nicely up to date so this current iteration is up to date so this current iteration is up to date so this current iteration is now almost the year old and before that now almost the year old and before that now almost the year old and before that I had a kubernetes cluster based on k3s I had a kubernetes cluster based on k3s I had a kubernetes cluster based on k3s so what do I run on my on my cluster so what do I run on my on my cluster so what do I run on my on my cluster well this is my homepage this is running well this is my homepage this is running well this is my homepage this is running in a container on my kubernetes cluster in a container on my kubernetes cluster in a container on my kubernetes cluster and I run all sorts of applications here and I run all sorts of applications here and I run all sorts of applications here one thing is LinkedIn this is my one thing is LinkedIn this is my one thing is LinkedIn this is my bookmark that's running in a container bookmark that's running in a container bookmark that's running in a container on my cluster I have coma feed which is on my cluster I have coma feed which is on my cluster I have coma feed which is my RSS reader and I have wallabag which my RSS reader and I have wallabag which my RSS reader and I have wallabag which is my read later app so I'm running all is my read later app so I'm running all is my read later app so I'm running all these sorts of containerized these sorts of containerized these sorts of containerized applications that I use every single day applications that I use every single day applications that I use every single day and I have of course a full monitoring and I have of course a full monitoring and I have of course a full monitoring stack where I also have some fun stack where I also have some fun stack where I also have some fun Shenanigans where I'm for example Shenanigans where I'm for example Shenanigans where I'm for example tracking my bedroom temperature because tracking my bedroom temperature because tracking my bedroom temperature because I want to improve my sleep so I have a I want to improve my sleep so I have a I want to improve my sleep so I have a sensor that every every time the sensor that every every time the sensor that every every time the temperature changes it will push that to temperature changes it will push that to temperature changes it will push that to a message queue mqtt which is then a message queue mqtt which is then a message queue mqtt which is then connected to an API which then inserts connected to an API which then inserts connected to an API which then inserts that into a postgress database because I that into a postgress database because I that into a postgress database because I really like databases and if I do K get really like databases and if I do K get really like databases and if I do K get cluster-a here you see I'm running 1 2 3 cluster-a here you see I'm running 1 2 3 cluster-a here you see I'm running 1 2 3 4 5 six seven databases on my cluster 4 5 six seven databases on my cluster 4 5 six seven databases on my cluster currently they're all running in three currently they're all running in three currently they're all running in three instances and I all manage these instances and I all manage these instances and I all manage these database clusters myself they're all database clusters myself they're all database clusters myself they're all backed up to the cloud and if I check backed up to the cloud and if I check backed up to the cloud and if I check out my uh Enterprise DB postgress for out my uh Enterprise DB postgress for out my uh Enterprise DB postgress for kubernetes here I have a full nice kubernetes here I have a full nice kubernetes here I have a full nice dashboard of these databases and I can dashboard of these databases and I can dashboard of these databases and I can see exactly what's going on and I learn see exactly what's going on and I learn see exactly what's going on and I learn a ton of just database optimization and a ton of just database optimization and a ton of just database optimization and and hosting them and tuning them just and hosting them and tuning them just and hosting them and tuning them just from having this in my home lab
-
from having this in my home lab from having this in my home lab available and it's just super cool I available and it's just super cool I available and it's just super cool I love it so as you can see it's just and love it so as you can see it's just and love it so as you can see it's just and this is just a fraction of what's this is just a fraction of what's this is just a fraction of what's running on there I have tons of PODS and running on there I have tons of PODS and running on there I have tons of PODS and tons of things that are running on here tons of things that are running on here tons of things that are running on here so this is just a very quick sneak peek so this is just a very quick sneak peek so this is just a very quick sneak peek but there's just so much you can do and but there's just so much you can do and but there's just so much you can do and so much you can learn from running a so much you can learn from running a so much you can learn from running a kubernetes home lab and these skills all kubernetes home lab and these skills all kubernetes home lab and these skills all amount to the 10,000 hours you need to amount to the 10,000 hours you need to amount to the 10,000 hours you need to become a master of something and this become a master of something and this become a master of something and this 10,000 hour thing is debated I truly 10,000 hour thing is debated I truly 10,000 hour thing is debated I truly think that if you do something for think that if you do something for think that if you do something for 10,000 hours you're going to be better 10,000 hours you're going to be better 10,000 hours you're going to be better than someone who has been doing it for than someone who has been doing it for than someone who has been doing it for 100 hours so whether you're a master or 100 hours so whether you're a master or 100 hours so whether you're a master or not whether it's not the whole thing is not whether it's not the whole thing is not whether it's not the whole thing is true I don't care if you do the 10,000 true I don't care if you do the 10,000 true I don't care if you do the 10,000 hours you're going to be better and you hours you're going to be better and you hours you're going to be better and you don't need to be working in an don't need to be working in an don't need to be working in an Enterprise environment to get these Enterprise environment to get these Enterprise environment to get these 10,000 hours of infrastructure 10,000 hours of infrastructure 10,000 hours of infrastructure Engineering in you can do this at home Engineering in you can do this at home Engineering in you can do this at home in your own home lab using cheap in your own home lab using cheap in your own home lab using cheap hardware and I'm going to get back to hardware and I'm going to get back to hardware and I'm going to get back to that secondly troubleshooting is a skill that secondly troubleshooting is a skill that secondly troubleshooting is a skill that you don't need to be working in an that you don't need to be working in an that you don't need to be working in an Enterprise environment for I mean I've Enterprise environment for I mean I've Enterprise environment for I mean I've spent countless of hours trying to fix spent countless of hours trying to fix spent countless of hours trying to fix something that went wrong tinkering with something that went wrong tinkering with something that went wrong tinkering with kg pods and trying to get the the yo kg pods and trying to get the the yo kg pods and trying to get the the yo file and and and trying to see what was file and and and trying to see what was file and and and trying to see what was wrong fighting with customize and my wrong fighting with customize and my wrong fighting with customize and my flux CD um giops reconciliation Loops flux CD um giops reconciliation Loops flux CD um giops reconciliation Loops that were messing up I mean there's just that were messing up I mean there's just that were messing up I mean there's just so much you can learn by just running so much you can learn by just running so much you can learn by just running some dumb application just one some dumb application just one some dumb application just one application on your kubernetes cluster application on your kubernetes cluster application on your kubernetes cluster and doing that well trying to get that and doing that well trying to get that and doing that well trying to get that completely secure completely secure completely secure and to make it accessible from the and to make it accessible from the and to make it accessible from the internet in a secure way all of that internet in a secure way all of that internet in a secure way all of that stuff is just so there's just so much stuff is just so there's just so much stuff is just so there's just so much you can learn from just doing it at home
-
you can learn from just doing it at home you can learn from just doing it at home and troubleshooting is one of them if and troubleshooting is one of them if and troubleshooting is one of them if your container messes up then you don't your container messes up then you don't your container messes up then you don't need to be working in a professional need to be working in a professional need to be working in a professional environment to learn how what what environment to learn how what what environment to learn how what what things can go wrong secondly there's the things can go wrong secondly there's the things can go wrong secondly there's the the the architecture side of things so the the architecture side of things so the the architecture side of things so in order to do this properly you want to in order to do this properly you want to in order to do this properly you want to design a a nice Network for yourself and design a a nice Network for yourself and design a a nice Network for yourself and let me see can let me see can let me see can I um on my blog I think I have it still I um on my blog I think I have it still I um on my blog I think I have it still up that was my network designed the up that was my network designed the up that was my network designed the network for my homel lab so here I have network for my homel lab so here I have network for my homel lab so here I have this whole article about how I designed this whole article about how I designed this whole article about how I designed the network for my home lab and how deep the network for my home lab and how deep the network for my home lab and how deep I went into um separating all the vlans I went into um separating all the vlans I went into um separating all the vlans and and having the security groups and and and having the security groups and and and having the security groups and having everything separated for example having everything separated for example having everything separated for example I don't I wanted to have separate vlans I don't I wanted to have separate vlans I don't I wanted to have separate vlans for my staging cluster and production for my staging cluster and production for my staging cluster and production cluster and then my sonology Nas which cluster and then my sonology Nas which cluster and then my sonology Nas which is responsible for the storage in my is responsible for the storage in my is responsible for the storage in my cluster that needs to live in a separate cluster that needs to live in a separate cluster that needs to live in a separate VLAN as well because that I'm also VLAN as well because that I'm also VLAN as well because that I'm also accessing from other types of vlans so accessing from other types of vlans so accessing from other types of vlans so there's a bit of if you want to do it there's a bit of if you want to do it there's a bit of if you want to do it well then there is a lot of design well then there is a lot of design well then there is a lot of design principles that you have to learn and principles that you have to learn and principles that you have to learn and that you can practice at home which you that you can practice at home which you that you can practice at home which you can use as reference cases when you're can use as reference cases when you're can use as reference cases when you're applying for jobs there's also the applying for jobs there's also the applying for jobs there's also the architecture like which kubernetes architecture like which kubernetes architecture like which kubernetes distribution are you going to use which distribution are you going to use which distribution are you going to use which uh how which gitops engine are you going uh how which gitops engine are you going uh how which gitops engine are you going to use and which Ingress controller all to use and which Ingress controller all to use and which Ingress controller all these things and and this is a safe these things and and this is a safe these things and and this is a safe place to try them out so you can try out place to try them out so you can try out place to try them out so you can try out engine X and then you can try out engine X and then you can try out engine X and then you can try out traffic and see which one works best for traffic and see which one works best for traffic and see which one works best for you so you're learning about cluster you so you're learning about cluster you so you're learning about cluster architecture and how to design a good architecture and how to design a good architecture and how to design a good system for the right purpose and lastly system for the right purpose and lastly system for the right purpose and lastly there is security so these apps that I there is security so these apps that I there is security so these apps that I showed you they are accessible from the showed you they are accessible from the showed you they are accessible from the internet I want my bookmark manager to
-
internet I want my bookmark manager to internet I want my bookmark manager to be accessible wherever I am so if I'm be accessible wherever I am so if I'm be accessible wherever I am so if I'm out and about and I'm on my phone and I out and about and I'm on my phone and I out and about and I'm on my phone and I find a nice bookmark then I want that to find a nice bookmark then I want that to find a nice bookmark then I want that to be accessible from the internet so you be accessible from the internet so you be accessible from the internet so you have to learn about how do I do that have to learn about how do I do that have to learn about how do I do that safely how do I expose my homeb to the safely how do I expose my homeb to the safely how do I expose my homeb to the internet without everybody coming in and internet without everybody coming in and internet without everybody coming in and hacking so then you're looking at hacking so then you're looking at hacking so then you're looking at Network policies and then you're looking Network policies and then you're looking Network policies and then you're looking at uh tunnels VP tunnels so I currently at uh tunnels VP tunnels so I currently at uh tunnels VP tunnels so I currently use cloud flare tunnels as my way of use cloud flare tunnels as my way of use cloud flare tunnels as my way of exposing traffic to the internet super exposing traffic to the internet super exposing traffic to the internet super secure all well all it's completely secure all well all it's completely secure all well all it's completely tight and I don't have to expose my home tight and I don't have to expose my home tight and I don't have to expose my home IP these are the things that you learn IP these are the things that you learn IP these are the things that you learn from this kubernetes home lab journey from this kubernetes home lab journey from this kubernetes home lab journey and it might as I'm talking about this and it might as I'm talking about this and it might as I'm talking about this it might seem very intimidating right it might seem very intimidating right it might seem very intimidating right that you have to do all of this um all that you have to do all of this um all that you have to do all of this um all of this research well I can help you of this research well I can help you of this research well I can help you with this I have just released my um new with this I have just released my um new with this I have just released my um new course about about the kubernetes home course about about the kubernetes home course about about the kubernetes home lab it is a full course that is going to lab it is a full course that is going to lab it is a full course that is going to take you through all of the steps that take you through all of the steps that take you through all of the steps that you need to do I've done all the you need to do I've done all the you need to do I've done all the research for you I for example there is research for you I for example there is research for you I for example there is a full master class on gith ups and flux a full master class on gith ups and flux a full master class on gith ups and flux CD and how to deploy applications safely CD and how to deploy applications safely CD and how to deploy applications safely like it's one hour long just this master like it's one hour long just this master like it's one hour long just this master class alone so there's tons of class alone so there's tons of class alone so there's tons of information in here it's available in my information in here it's available in my information in here it's available in my cubecraft community check it out I think cubecraft community check it out I think cubecraft community check it out I think you might like it so continuing with the you might like it so continuing with the you might like it so continuing with the next section there is the the playground next section there is the the playground next section there is the the playground aspect of it so there is the thinkering aspect of it so there is the thinkering aspect of it so there is the thinkering mindset is a term that I came up with so mindset is a term that I came up with so mindset is a term that I came up with so it's a combination of tinkering and it's a combination of tinkering and it's a combination of tinkering and thinking right so everybody most people thinking right so everybody most people thinking right so everybody most people who are watching this video they like to who are watching this video they like to who are watching this video they like to Tinker they have a project and they like Tinker they have a project and they like Tinker they have a project and they like to Tinker around with that and to make to Tinker around with that and to make to Tinker around with that and to make it work the way they do same with vim
-
it work the way they do same with vim it work the way they do same with vim and having your own editor you like and having your own editor you like and having your own editor you like tinkering with that kind of stuff well tinkering with that kind of stuff well tinkering with that kind of stuff well thinkering is a way of combining thinkering is a way of combining thinkering is a way of combining thinking with tinkering where you you thinking with tinkering where you you thinking with tinkering where you you you do tinkering but you do it to learn you do tinkering but you do it to learn you do tinkering but you do it to learn you do it to have a positive you do it to have a positive you do it to have a positive contribution to your work to your day contribution to your work to your day contribution to your work to your day job basically or your craft as an job basically or your craft as an job basically or your craft as an engineer engineer engineer and this mindset will only come about if and this mindset will only come about if and this mindset will only come about if you have a safe place where you can do you have a safe place where you can do you have a safe place where you can do it where you feel safe that you can it where you feel safe that you can it where you feel safe that you can break stuff where you feel safe that if break stuff where you feel safe that if break stuff where you feel safe that if it doesn't work the whole there's not an it doesn't work the whole there's not an it doesn't work the whole there's not an application that's going to go down and application that's going to go down and application that's going to go down and users are going to be affected like users are going to be affected like users are going to be affected like you're the only user or your family so you're the only user or your family so you're the only user or your family so you're the only one that's going to be you're the only one that's going to be you're the only one that's going to be affected next there is the self-hosting affected next there is the self-hosting affected next there is the self-hosting hobby aspect of it so I I I really came hobby aspect of it so I I I really came hobby aspect of it so I I I really came into this because uh by starting a home into this because uh by starting a home into this because uh by starting a home lab I wasn't self-hosting as much lab I wasn't self-hosting as much lab I wasn't self-hosting as much earlier but I knew I I I realized that earlier but I knew I I I realized that earlier but I knew I I I realized that in order to learn kubernetes well I in order to learn kubernetes well I in order to learn kubernetes well I needed to start a home lab and then um I needed to start a home lab and then um I needed to start a home lab and then um I got into self-hosting and and I I think got into self-hosting and and I I think got into self-hosting and and I I think it's so much fun to instead of using it's so much fun to instead of using it's so much fun to instead of using Mozilla pocket I have my wallet bag that Mozilla pocket I have my wallet bag that Mozilla pocket I have my wallet bag that all lives in my own database that I can all lives in my own database that I can all lives in my own database that I can query I mean I can go to my wallet bag query I mean I can go to my wallet bag query I mean I can go to my wallet bag uh instance and if I open up my shell uh instance and if I open up my shell uh instance and if I open up my shell here I can go into my database I can go here I can go into my database I can go here I can go into my database I can go psql and then if I list the databases psql and then if I list the databases psql and then if I list the databases then I can see which one I should then I can see which one I should then I can see which one I should connect to so I connect to um wallabag connect to so I connect to um wallabag connect to so I connect to um wallabag and then select start from um let's see and then select start from um let's see and then select start from um let's see do we have do we have do we have the wall bag entry for example I think the wall bag entry for example I think the wall bag entry for example I think that might be the the ones well and here
-
that might be the the ones well and here that might be the the ones well and here we see all of the entries that are in we see all of the entries that are in we see all of the entries that are in there right so I can I can it's a bad there right so I can I can it's a bad there right so I can I can it's a bad example but you get the point I can just example but you get the point I can just example but you get the point I can just go in and Tinker with my databases I can go in and Tinker with my databases I can go in and Tinker with my databases I can check out oh what's in there what how do check out oh what's in there what how do check out oh what's in there what how do I actually influence what's being put in I actually influence what's being put in I actually influence what's being put in here the second one is this this um home here the second one is this this um home here the second one is this this um home iot project that showed you with iot project that showed you with iot project that showed you with measuring these metrics this is an API measuring these metrics this is an API measuring these metrics this is an API that I wrote myself in Python I learned that I wrote myself in Python I learned that I wrote myself in Python I learned a ton from that right a ton from that right a ton from that right so when you do this in a self-hosted way so when you do this in a self-hosted way so when you do this in a self-hosted way and even running your own databases it and even running your own databases it and even running your own databases it becomes a very indicting hobby which you becomes a very indicting hobby which you becomes a very indicting hobby which you don't need kubernetes for but you can don't need kubernetes for but you can don't need kubernetes for but you can then combine this hobby with becoming a then combine this hobby with becoming a then combine this hobby with becoming a better engineer and finally it's like better engineer and finally it's like better engineer and finally it's like getting the the attitude of maintaining getting the the attitude of maintaining getting the the attitude of maintaining your own data center maintaining your your own data center maintaining your your own data center maintaining your own data maintaining your own own data maintaining your own own data maintaining your own infrastructure and I'm I'm doing a infrastructure and I'm I'm doing a infrastructure and I'm I'm doing a project with my health metrics so I'm I project with my health metrics so I'm I project with my health metrics so I'm I have my own database where every day have my own database where every day have my own database where every day every hour my metrics from my iPhone are every hour my metrics from my iPhone are every hour my metrics from my iPhone are being synced to the database so now I being synced to the database so now I being synced to the database so now I can actually see how my body weight has can actually see how my body weight has can actually see how my body weight has um been developing over the last 90 days um been developing over the last 90 days um been developing over the last 90 days for example or how how much or how for example or how how much or how for example or how how much or how little I have been eating Etc so this is little I have been eating Etc so this is little I have been eating Etc so this is a um it's a fun project that also a um it's a fun project that also a um it's a fun project that also actually adds value to my life so I see actually adds value to my life so I see actually adds value to my life so I see that my lean body mass has been that my lean body mass has been that my lean body mass has been increasing recently Etc so increasing recently Etc so increasing recently Etc so I this idea of of owning your own data I this idea of of owning your own data I this idea of of owning your own data and I'm just dipping my toes into this and I'm just dipping my toes into this and I'm just dipping my toes into this but it feels such an interesting but it feels such an interesting but it feels such an interesting satisfying hobby so it becomes your satisfying hobby so it becomes your satisfying hobby so it becomes your playground and instead of watching playground and instead of watching playground and instead of watching Netflix or playing video games you can Netflix or playing video games you can Netflix or playing video games you can play around with hosting applications play around with hosting applications play around with hosting applications and doing stuff and to get application
-
and doing stuff and to get application and doing stuff and to get application ideas you should check out a awesome ideas you should check out a awesome ideas you should check out a awesome self-hosted this is a great website with self-hosted this is a great website with self-hosted this is a great website with all sorts of um alternatives for all sorts of um alternatives for all sorts of um alternatives for self-hosted applications that you can self-hosted applications that you can self-hosted applications that you can use in your kubernetes home lab lastly use in your kubernetes home lab lastly use in your kubernetes home lab lastly why kubernetes specifically is so why kubernetes specifically is so why kubernetes specifically is so incredibly useful is to build your incredibly useful is to build your incredibly useful is to build your online presence so my entire home online presence so my entire home online presence so my entire home lab uh lab uh lab uh GitHub my entire home lab is available GitHub my entire home lab is available GitHub my entire home lab is available publicly so all of my application code publicly so all of my application code publicly so all of my application code is in here and I have it all documented is in here and I have it all documented is in here and I have it all documented with all of the CH all of the decisions with all of the CH all of the decisions with all of the CH all of the decisions that I've made all of the design choices that I've made all of the design choices that I've made all of the design choices everything is in here and as you can see everything is in here and as you can see everything is in here and as you can see I have nearly a thousand commits to this I have nearly a thousand commits to this I have nearly a thousand commits to this repository well guess what this is an repository well guess what this is an repository well guess what this is an open- source project I am now regularly open- source project I am now regularly open- source project I am now regularly making contributions to an open- source making contributions to an open- source making contributions to an open- source project that I run myself what do you project that I run myself what do you project that I run myself what do you know so here you can see I I now have know so here you can see I I now have know so here you can see I I now have very much I have pretty regular GitHub very much I have pretty regular GitHub very much I have pretty regular GitHub activity not so much last month but I activity not so much last month but I activity not so much last month but I have a lot of regular GitHub activity have a lot of regular GitHub activity have a lot of regular GitHub activity just by running my home lab publicly and just by running my home lab publicly and just by running my home lab publicly and having my DOT files public and someone having my DOT files public and someone having my DOT files public and someone who is going to check my check me out who is going to check my check me out who is going to check my check me out when I'm applying for something they're when I'm applying for something they're when I'm applying for something they're going to take a look at my GitHub going to take a look at my GitHub going to take a look at my GitHub profile and they're going to see oh this profile and they're going to see oh this profile and they're going to see oh this guy is doing a lot of let's check guy is doing a lot of let's check guy is doing a lot of let's check out his home lab and then you see oh out his home lab and then you see oh out his home lab and then you see oh this is a very um this is a very a this is a very um this is a very a this is a very um this is a very a layered way of structuring things he layered way of structuring things he layered way of structuring things he knows exactly what he's doing and knows exactly what he's doing and knows exactly what he's doing and there's tons of code in here that I'm there's tons of code in here that I'm there's tons of code in here that I'm not even going to read this guy knows not even going to read this guy knows not even going to read this guy knows what he's doing because uh it looks very what he's doing because uh it looks very what he's doing because uh it looks very complicated that's how these hiring
-
complicated that's how these hiring complicated that's how these hiring managers will look at at it right so managers will look at at it right so managers will look at at it right so doing it publicly creates an opportunity doing it publicly creates an opportunity doing it publicly creates an opportunity for you to have code available for for you to have code available for for you to have code available for people to review and I'm not a software people to review and I'm not a software people to review and I'm not a software engineer I'm I'm not I don't really engineer I'm I'm not I don't really engineer I'm I'm not I don't really build uh software projects like I do build uh software projects like I do build uh software projects like I do small stuff like small clis for my own small stuff like small clis for my own small stuff like small clis for my own use cases but this way I can use my use cases but this way I can use my use cases but this way I can use my infrastructure skills to have Co code infrastructure skills to have Co code infrastructure skills to have Co code public and to contribute to open source public and to contribute to open source public and to contribute to open source and I can also help other people by and I can also help other people by and I can also help other people by having this publicly available uh that having this publicly available uh that having this publicly available uh that it can serve as an example for people so it can serve as an example for people so it can serve as an example for people so it's super useful to cultivate your it's super useful to cultivate your it's super useful to cultivate your online presence by having a public online presence by having a public online presence by having a public gitops repo because that's the thing we gitops repo because that's the thing we gitops repo because that's the thing we say kubernetes but you're not going to say kubernetes but you're not going to say kubernetes but you're not going to be applying stuff to your kubernetes be applying stuff to your kubernetes be applying stuff to your kubernetes home lab right like if you go into an home lab right like if you go into an home lab right like if you go into an interview and you have a home lab and interview and you have a home lab and interview and you have a home lab and people ask you so how do you set up your people ask you so how do you set up your people ask you so how do you set up your your kubernetes um applications and they your kubernetes um applications and they your kubernetes um applications and they say oh I just apply K apply F and I say oh I just apply K apply F and I say oh I just apply K apply F and I apply my yl files and when my yl files apply my yl files and when my yl files apply my yl files and when my yl files need editing I just do Cube CTL edit no need editing I just do Cube CTL edit no need editing I just do Cube CTL edit no that then you're not going to get the that then you're not going to get the that then you're not going to get the job idiot so I've seen people like very job idiot so I've seen people like very job idiot so I've seen people like very very respected content creators um who very respected content creators um who very respected content creators um who then who are software engineers and then then who are software engineers and then then who are software engineers and then they set up a kubernetes home lab they set up a kubernetes home lab they set up a kubernetes home lab because it looks cool using nixos oh my because it looks cool using nixos oh my because it looks cool using nixos oh my God so they're using nyos and then they God so they're using nyos and then they God so they're using nyos and then they apply the files manually I mean come on apply the files manually I mean come on apply the files manually I mean come on don't do that use giops for God's sakes don't do that use giops for God's sakes don't do that use giops for God's sakes do a little bit of research and know do a little bit of research and know do a little bit of research and know what you're doing use giops whether it's what you're doing use giops whether it's what you're doing use giops whether it's Argo CD or flux but use giops and by Argo CD or flux but use giops and by Argo CD or flux but use giops and by using giops you'll be able to have a
-
using giops you'll be able to have a using giops you'll be able to have a public code repository that's going to public code repository that's going to public code repository that's going to count as an impressive project that you count as an impressive project that you count as an impressive project that you can use when you're applying for jobs can use when you're applying for jobs can use when you're applying for jobs especially for your first job when you especially for your first job when you especially for your first job when you need to prove that you have the chops need to prove that you have the chops need to prove that you have the chops that you are able to do to do these that you are able to do to do these that you are able to do to do these skills in a professional environment skills in a professional environment skills in a professional environment and finally there is costs so if you and finally there is costs so if you and finally there is costs so if you want to learn kubernetes and you want to want to learn kubernetes and you want to want to learn kubernetes and you want to learn in the cloud it's going to be learn in the cloud it's going to be learn in the cloud it's going to be really effing expensive like running an really effing expensive like running an really effing expensive like running an AKs cluster for more than a few hours is AKs cluster for more than a few hours is AKs cluster for more than a few hours is going to cost a lot of money and it's going to cost a lot of money and it's going to cost a lot of money and it's not not really feasible to learn not not really feasible to learn not not really feasible to learn kubernetes properly that way but the kubernetes properly that way but the kubernetes properly that way but the good news is you can start a$ Z home lab good news is you can start a$ Z home lab good news is you can start a$ Z home lab with kubernetes all you literally need with kubernetes all you literally need with kubernetes all you literally need is an old laptop that you already have is an old laptop that you already have is an old laptop that you already have lying around you have two of them I Know lying around you have two of them I Know lying around you have two of them I Know It with four gigb of ram minimum it It with four gigb of ram minimum it It with four gigb of ram minimum it maybe even two but that's all you need maybe even two but that's all you need maybe even two but that's all you need to start a kubernetes cluster all you to start a kubernetes cluster all you to start a kubernetes cluster all you need is an old laptop and install k3s on need is an old laptop and install k3s on need is an old laptop and install k3s on there and there you go you have a there and there you go you have a there and there you go you have a cluster and I always recommend using cluster and I always recommend using cluster and I always recommend using separate hardware for it because then separate hardware for it because then separate hardware for it because then you have your little node and you have a you have your little node and you have a you have your little node and you have a safe place to experiment you can start safe place to experiment you can start safe place to experiment you can start with things like ranch or desktop with things like ranch or desktop with things like ranch or desktop locally but I always recommend if you're locally but I always recommend if you're locally but I always recommend if you're starting a home lab to use dedicated starting a home lab to use dedicated starting a home lab to use dedicated hardware and the great thing about hardware and the great thing about hardware and the great thing about kubernetes is that it is obviously kubernetes is that it is obviously kubernetes is that it is obviously cluster Computing so when you start with cluster Computing so when you start with cluster Computing so when you start with one laptop with one thing then you can one laptop with one thing then you can one laptop with one thing then you can expand it as your home lab grows like my expand it as your home lab grows like my expand it as your home lab grows like my my home lab wasn't always for notes I my home lab wasn't always for notes I my home lab wasn't always for notes I okay get notes I started with just one okay get notes I started with just one okay get notes I started with just one uh basically one worker and then later I uh basically one worker and then later I uh basically one worker and then later I added another machine which was then added another machine which was then added another machine which was then became my control plane so then I had a became my control plane so then I had a became my control plane so then I had a separate control plane that does not
-
separate control plane that does not separate control plane that does not contain any workloads and it just contain any workloads and it just contain any workloads and it just contains the system pods and then the contains the system pods and then the contains the system pods and then the rest have by uh the rest of the stuff is rest have by uh the rest of the stuff is rest have by uh the rest of the stuff is scheduled on my worker notes and that as scheduled on my worker notes and that as scheduled on my worker notes and that as my self-hosting hobby uh got out of hand my self-hosting hobby uh got out of hand my self-hosting hobby uh got out of hand I expanded my compute ability by just I expanded my compute ability by just I expanded my compute ability by just adding node by node by node so you can adding node by node by node so you can adding node by node by node so you can use old laptops raspberry pies or old use old laptops raspberry pies or old use old laptops raspberry pies or old thin clients thin clients these are thin clients thin clients these are thin clients thin clients these are really good um things to get for home really good um things to get for home really good um things to get for home Labs because they are old Hardware from Labs because they are old Hardware from Labs because they are old Hardware from uh offices and there are huge retailers uh offices and there are huge retailers uh offices and there are huge retailers that buy these up and then uh refurbish that buy these up and then uh refurbish that buy these up and then uh refurbish them and there you go you have a super them and there you go you have a super them and there you go you have a super super nice um node for your kubernetes super nice um node for your kubernetes super nice um node for your kubernetes cluster which in this case with 16 GB of cluster which in this case with 16 GB of cluster which in this case with 16 GB of ddr4 ddr4 ddr4 then um only costs €200 and then you then um only costs €200 and then you then um only costs €200 and then you have a solid node with lots of CPU power have a solid node with lots of CPU power have a solid node with lots of CPU power that's going to um run your containers that's going to um run your containers that's going to um run your containers well so yeah what to run on your your well so yeah what to run on your your well so yeah what to run on your your kuet home lab if it runs in a container kuet home lab if it runs in a container kuet home lab if it runs in a container you can run it and it's a very good you can run it and it's a very good you can run it and it's a very good learning experience to take because learning experience to take because learning experience to take because that's the thing most projects have that's the thing most projects have that's the thing most projects have Docker compos files or Docker images but Docker compos files or Docker images but Docker compos files or Docker images but they won't have instructions on how to they won't have instructions on how to they won't have instructions on how to run it on kubernetes so every app you run it on kubernetes so every app you run it on kubernetes so every app you want to run on kubernetes is
Summary
This tech transcript emphasizes why Kubernetes is the superior choice for a home lab, especially for aspiring DevOps engineers. It highlights learning valuable skills like "YAML wrestling" and understanding complex enterprise environments that directly translate to professional development. The practical takeaway is that hands-on experience with Kubernetes at home builds a stronger foundation for real-world IT careers than simpler alternatives.