DEPLOY ALL YOUR MICROSERVICES WITH ONE COMMAND USING HELM CHARTS #LEARNTOGETHER #DEVOPS

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
all right friends we are going live pretty soon and we are live welcome everyone hey did i say well pump welcome great how about yourself i'm great yeah it's fantastic day it's the weekend you know so we get to mess around with fun tools like helm and kubernetes sounds great so why don't you tell us what helm is all about like why would i why would we exp why would we explore this tool so i think um what helen is all about is obviously it only is useful to you if you use kubernetes but um kubernetes can be like insanely difficult to manage so one reason for us is like we have a bunch of different services interacting with each other and kubernetes and we just want an easy way to install it in one click yep yep so you know we run one command after configuring what's known as a helm chart and then we can create an environment for our um our more applications back end so this is an insanely useful tool if you use kubernetes to save you time in the future so um yeah do you have uh anything to add to that dario well yeah it's just like one of those tools that you set up and it just keeps keeps giving you back right like you set up once use multiple times and the shared value that you get out of it is insane like um it takes us right now like a good um what maybe like five minutes to deploy maybe less than that but to clear create a new cluster that does take hours sometimes or like what like 45 minutes yeah yeah especially i mean i always complain about the cert manager but it seems like now i've kind of figured that out and i think when we first deployed our back end in kubernetes it was like a lot more in development and they were like making breaking changes on every release they made but now things are really starting to stabilize and like the kubernetes community um and all the different applications so um yeah i think i i agree with you it could take up to a few hours if especially if like you didn't have as nice of files as we had like we've we've taken the time to build it i remember in like the beginning it would take at least an entire day for me to create an environment in kubernetes oh yeah because we we had the pots but not the services right so that then then we added the services we had we had the pots the services but we we had nothing to coordinate all of it and the ingress controller and all this stuff it's all like disconnected yes so for example the last deployment that we did we had to uh do yeah we had to do that from scratch i mean create all the deployments uh the pods um to to yeah to deploy uh or back end to production so we are looking for automation to automate as as much as possible yeah and helm can be super helpful yep 100 so let's do it man should we get started all right let's do it so by the way for all the viewers out there feel free to make us questions on uh discord um so anyways sorry griffin go go ahead okay can you hear me yep all right so um okay i don't know if you can read the text does it look good on the stream it looks good yeah super good if you can scale it a bit more for folks that are joining through their phones which is the majority of people yeah fantastic all right yeah so helmus package manager for kubernetes all right let's see let's just jump into introduction quick start guide so um prerequisites kubernetes cluster got that we got that yeah and by the way i think we're going to be um configuring all of this locally if you're cool with that daario on uh of course micro kubernetes which is provided by ubuntu um and then so you you need to have helm installed let's make sure that i have helm real quick [Music] nope all right so how do i install it all right so installation guide let's see that's annoying they don't really provide like a snap or anything you have to go to github oh i see and install from the github tag yeah you will you go and upgrading for linux m64 uh if you're on ubuntu uh oh no you're on ubuntu yeah yeah i have uh i386 though okay i see the whole thing about i386 and arm 64 is ie either what i ate 30 86 32 bits and the other one is 64 bits yeah right that well but i i3 is because you have an intel uh i3 processor griffin uh yeah yeah so if i type like arc here oh i guess it's it's i guess i could do it's 64. yeah so i probably downloaded the wrong one let me download that um linux amd64 it's misleading because it looks like it referred to the brand amd but it's not it's not that no such file a directory crap what's it called oh the version is different all right [Music] and then yeah it just tells you to move it to your local bin i see [Music] all right so now we should have helm right oh oh that command doesn't work apparently [Music] oh 3.4.2 it's written in go we can't see that that's cool yeah go version okay now yeah that's all done let's go to back to the quick start guide and see what else that needs to be done so now we need to initialize a helm chart repository once you have helm ready you can add a chart repository okay so this is talking about like adding a chart into your cluster but we want to actually create our own chart yes so let's see so just to summarize the helm chart will contain all the configuration needed to create a new to like take the recipe of our cluster and and create a take the recipe of our system all the configuration all the pots all the services all that stuff and create a new cluster right yeah precisely sweet so now i know that there is a way to create um a chart chart template says victor yeah maybe if you getting started on chart template i don't know yup i think you're right okay in this section of the guide we create a chart and then out of first template the chart we created here we will use through the rest of the guide hey victor can you increase your volume a little bit uh yeah okay all right so um yeah you simply just create it with this command helm create and then the name of the chart so i'm gonna go back to the terminal by the way it's a text big enough here um well if i'm in a phone no but since i'm in a computer yeah like this will be even better yeah yeah okay um so we'll just run helm create our more chart [Music] you know it's great okay i'm just checking out a git branch for us to work on love it so now we have our more chart with that [Music] so it has a few files in here values.yaml this is where you put like static configuration values um and then templates that's where we'll put all of our deployments and services um and i think charts are like dependencies i see but let's actually look at this so um if you take a look at templates yeah see they have a deployment and a gamble in there and i know it's pretty flexible you can kind of structure it however you want underneath the templates directory i see so we could we take our k8s or whatever you call our kubernetes folder and like dump them dump all the like staging services or something yup we could do that i think so we could just kind of like copy um k8s staging deployments yeah we need all that stuff actually so we might as well just take all of it [Music] and go to our more chart templates nice and i'm going to open it up in a code [Music] [Music] i don't have any say this come on it's like freezing on me now it's a windows product after all oh my gosh that's what microsoft does is there a specialty i don't know this seems to be working now let me just kill it yeah that's what you do with microsoft products kill them i have to say though here's the nuance those are the only guys that that paid stakeholders this quarter from my portfolio so i got you know if you're a stakeholder then maybe you do benefit a bit from microsoft i guess [Music] stockholder i meant to say no let's stay home yeah it's not colder i don't that didn't work maybe it's named oh god dang it i can't read anything hold on let me just if you're right just if you're right use ps uh slash a to see like just a list of the services well i'm just trying to kill these code ones oh there we go now it's gone good all right what's all that that's something else okay we're back in business sorry about those let's try it i apologize for microsoft hey microsoft developers that follow us get your together please we can't can't use your tool all right now i don't actually really want to save these changes no don't save there let me close everything okay oh you're gonna open up the the new folder yeah so we have inside of here now we have like a bunch of stuff that they already added i see so you can see um with with helm you can use this templating language anything with um two brackets surrounding it is using the helm templating engine to generate these values i see so you'll see things like um values this is pulling from that values file so oh i see it created like like some [Music] just like some sample code for you yeah yeah so if we look for replica account in here yeah it's up there it's like the first one it's the first thing so it's grabbing values.replica count from here so you can share values amongst multiple configuration files and just put you know everything in here and will we like say okay for the http gateway let's put three of them and then create another like will we create variables per service per pot yeah exactly so we can just use this um values file to configure the whole system and then any of these can actually be overridden when you run the command in the command line utility which is just built into helm so you can say you know override the replica count to be five instead of one when you actually run the command this is great yep all right yes this this is super powerful stuff um and then you can even they recommend they i read this before but it says they recommend um not specifying default resources inside of charts and just leave it up for the user once they like deploy their environment um yeah so i guess let's get started we need to kind of pick these things apart and implement it inside of our deployments that deployments file is oh i see they just plopped a deployment.yaml thing so that you could see how to use it like like a sample yeah exactly and i think i don't know it'll be helpful okay so like you can so you can specify the image tag here obviously yeah even the repository as well because you might post our images and repository in the future it's nice to have it just in the config file i see i how how about we do something very conservative and just like like not use any of their variables just to see you know what i'm saying like in instead of embedding their syntax into our files just like it it wouldn't hurt if we we don't use any of their variables just to get the system going yeah because there are some other things that we'll probably have to do such as tell helm my chart is composed by these files in particular like do you have to tell it which does it just take everything does it take everything on their templates and just goes through it recursively yep i'm pretty sure it does awesome like engine x is i see that on the templates you put staging right then staging has even like some tests and helpers and let's see yeah maybe i mean maybe like we would have one deployment file for like a node server and one deployment file for a rust server and then so i'm not really sure but i agree with you maybe we should just be conservative and without using template engine just plop it in there yeah and see if like we can get it to work and then um do it the right way over time i guess yeah like start to replace these variables over time what helper tpl is something that they provide right like that's part of their template basically oh yeah it's all it's all their their stuff helpers so i'm guessing these are like oh i see define our more chart selector labels so if you call this it'll apply all of these labels inside of here i see see like up here inside of the selector match labels they called that oh i see so is it it includes oh i see it like brings in all that yaml chunk yeah like a chunk of yaml lines basically and you have to pipe it to like this indent function to have it at the correct level i see and is there a file where you tell it which which services to create let's go to the docs and check it out ah there you go so they suggest just removing everything inside the templates when they do that and then like start by creating a config map um and they just show you like how to replace it with using their templating code i see yeah i'm cool if we want to do this first and then we do the very custom stuff because yeah like get the baby baby steps right like do the simple stuff and do the complex stuff so let's see if micro my micro kx is up yep thanks i don't want to go through like the setup of this it's super just go to the micro kubernetes website there's like two commands to run i see knit it starts up um and then [Music] micro k8 let's just look at what so what's that well hold on before you start doing stuff what's the plan here are you going to follow the tutorial or like how do you want to do it so i want to just get our back end running look in kubernetes with that helm chart and so we'll just like um [Music] in here i what i think i want to do is just delete everything they have templated out in here okay and start from scratch all right what do you think i have no idea how to tell helm which services to include but that's fine i'm wondering what this charts directory is maybe we should like um just be sure about that let's look on this file charts guide chart file structure yeah see a directory containing any charts upon which chart depends okay we don't have any dependencies yet so that's good um so that i finally have like um like reddit well no we don't have read this we host that no we hosted ourselves yeah but what about like postgres in order to um create this here we're gonna have to have a postgres instance yeah but let's start small man i i think it's very risky to just go out and try to get everything going at once so how can we start small can we get one service through to tools yeah to run i like the website because it has no dependencies yeah let's do that so then how how do we um and we'll just like we'll move the website deployment config file into the directory and i'm just gonna delete everything else all right i like it that way there are not too many too many uh things going on here you go microsoft you can delete files i believe in you oh helm ignore file uh we'll just all leave all this stuff for now it's fine it's just their boilerplate so now we have this um i'm gonna have to change where we get this image from may just build one in the background real quick but so we can have it hold the lid hold on before you start swapping out stuff technically your computer is provisioned to use gcr right gc yeah gcr google yeah i just don't know if like the kubernetes vm will too but i guess let's yeah let's just try it let's just try it so once you have your template seen what's what's the next step so we have um we have a deployment and a service in here yep we'll need we'll need an ingress i think in order for this to actually work but but all right even locally because luckily i i agree if this was a cloud deployment you see what i'm trying to get to work is the the most basic and then build on it before we eat the whole ladder to be honest with you i'm not sure let's just like try and see if it works i see so helm built or helm something yeah let's check it out yeah so ham supports the the yaml that we had already that we already have for the deployments we don't have to convert it to their syntaxes we are not sure yet but yeah it's we know that they yeah they use the kubernetes services definition so once you have defined dependencies let's see i want to just know how to create a new house like let's take a second to read the structure of the exactly and we will take it slow we'll take it slow we'll see okay so yeah all right let's let me at least just get my um kubernetes instance running because then we can actually run these commands so it's saying it's not running but now it's running all right cool fantastic so now we have a dashboard um we have a registry that's fine that's all we need oh and we'll need helm so um microcades provides these like add-ons they're called so i'll just do micro [Music] i think it's add-on enable all right oh maybe at naval this is just so i can like use it locally here okay so now i should as long as my kubernetes are actually i think we just run it with this command this is how it works yeah home three repo add let's grab this but aren't we using log okay so that's if you want to use off-the-shelf stuff like ingress and whatever but what do you think about us just like taking out web service wrapping it into a helm chart i'm just launching that without an ingress well yeah that's what i'm doing i'm just trying to get like the um the local kubernetes into a good state so we can actually like um apply things to it i see i need to like make my commands point to the correct cluster i see yeah so i was search repo stable okay yeah so it's listing all of the possible repositories that i could install in this local there's a bunch of them um so now we can see how we just install our local chart so yeah so these are off the shelf there is a code to that's off the shelf yeah yeah i'm pretty sure it's just going to be helm and stall and we path i think that would work that's what i i was about to try um automatically roll deployment okay helm install so there's an install uh soup comment this is it yeah instead of upgrade we do install see you can use this for either upgrading or installing and then we'll just overwrite so we don't need the values file so we'll do have to change this first command to point kubernetes helm3 upgrade install and we'll name our release or more i don't want to pass a custom values file just take whatever's in the chart directory um and then i'm pointing it to the chart directory with that last command okay that looks good so uh apparently that means that it created the surface and the pot if you do yeah let's go look at the um dashboard and see what it looks like that's a friendly way to look at it let's go i have to open this in firefox because it's going to be insecure yeah all right and then they give you like a token it just printed out a token when i ran the command i signed in with that and now we should see we had we deployed it into the staging namespace there's our oh i deployed that five days ago you can see off server i was just messing around on here but here's our web stage one um what happened that's fine and we don't we do not expect it to work because probably there are like we didn't even look at the dependencies or anything and so but it it tried to do the thing right so maybe it couldn't even pull the image or something but that's great like at least he tried i i but it should give me some sort of error like it didn't fail the image or whatever so at least we can you know we go in the right direction scaled up replica set to one okay um available false does not have minimum can you do something like cube control get logs can you run like standard and control commands yep you have to tell me which one it is yeah so cube control get parts but i'm not sure if that will be pointing to google cloud yeah you just have to go and i actually change this to yeah so i have a shortcut an alias yeah it's just micro k8 and then cube control i see so then name k ctl get pot all right that's great so it's image fall back off yeah so you we were right and you were right about your instinct that it was not going to be able to pull it but i think it's great because it's just like i can build it's uh i don't know like do we want uh your font is it's terribly small by default it always is whenever i go to a new tab so should what do you think um should we tackle the problem of all that google google's container registry or should we just use like the local one push it to there yeah local because um there's a built-in one in our kubernetes cluster right now we can just push it to that there's a built-in one there's a built-in um there's a built-in image registry inside of micro kubernetes oh yeah yeah absolutely like so let's push it to that yeah okay so so guys what we're going to do here for all the viewers is what we detected is that um the the chart that we were trying to build uses we use gcr for our images that's for for staging and production environments so what we're going to do instead is we because we're doing everything local we'll go ahead and build a new image of the ui and we'll push it to the local docker registry and the in in you know by doing that cube the local cube instance will be able to access it instead of dealing with the problem of getting our local cluster to authenticate to gcr that who knows we anticipate that that's going to be not conducive to a good demo so yeah that the authenticating issues are never fun especially with google yes they are going to ask you to get a token and a token and a token a service account everything yes all the accounts all the service accounts with that said i was pretty surprised with how um nice fastlane made it to authenticate google like they made it pretty easy nice yeah it was just like a service account or something yep yeah they i remember the google play store was pretty broken but then after getting past that it was all good yup yeah i heard that um kubernetes was deprecating docker i see yeah like a few days ago right yeah i heard about that it's a proprietary format me neither yeah i hope i hope docker well docker is um open source i thought but the let's see docker there was something proprietary about it that was making it hard to move forward docker d or something what's going on of their stuff is proprietary and i know that there were there was some drama there you know what why am i doing this let me just pull from gcr the this image and then i'll retag it that's a real devops person would do it all right so you pull it from google then make it available to your local docker repository i don't know what happened yeah it doesn't matter it's always something with the weather with the token probably if i deleted node modules and tried again it's always something man you know how it goes especially during demos oh it loves to do that so i'm yeah i'll tag this image as web latest all right scroll all the way up to the top and where is it rust stuff maybe grab it because i cannot see what the heck this tag [Music] do you tag it the other way do you put i'm a noob here [Music] so you put the source you put the search and then the target that's how i did it the first time yeah i'll i'll share some some ducks okay let's open this up source image tag target image tag right and they have some examples there if you zoom zoom in a little bit please yeah so we're calling um docker tag source image which is our google cloud one to the target image that's what i did right here docker tag and then let's just try running it then yep it works okay it's there but maybe i'm just a noob i don't know how to use i don't know how to list images i honestly i don't know what you're doing wrong supporting my noob too so that's great so we we have the we have web we can see that it's there so we just need to push it to local registry hopefully we can address it just by using web right yeah let's determine how to micro kubernetes registry i'm sure there's a quick way to push it up here so i've already enabled it i just have to tag it it looks like with localhost 32 oh so can i see that command again i want to make sure you understood that yep yeah so it's um you're working with micro kubernetes built-in registry i already enabled this previously so it's just an add-on you can change the size of the registry on when you enable it and then here you tag it with localhost and on the port 32 000 all right so that where it's running i guess and then just the name and the tag all right [Music] i'll call it web and we'll just do latest now maybe there's a way to list docker images oh no i think that docker images are already list they might just it happens successfully it says it exited with a um successful exit code so you see the tutorial again just to see which state were you at so you are there you need to push it yeah yep you're right let's do it docker push local host 32 000 web all right there we go that's pushing up now we need to change our config so it's using the right image and so we could do dot values no can we do it old-fashioned way just to make sure that i get it even though it's right here oh yeah okay i i'm cool it's just i'm not first yeah it should be easy yeah it's always about like i'm very very careful with these things because you know there's a lot of magic here yeah it's a lot of magic so like oh look you just define the variable and give it a value yeah yeah i know but you know there's always something there's always i i like being super super conservative yeah i mean it makes sense but let's see is it pushed um yeah pushed it but let's let's see if we can list it first so that way every single step is is is like yep let's go to kubernetes um it's probably a oh crap i missed clicked something my bad um there's probably a registry let me just search for it [Music] now so it doesn't get shown in this ui i guess um so i can try running some commands those aren't the commands for registry and this cli tool is a little weak i'm not sure how you actually check that it's there but can we maybe we could just try running the upgrade okay and see what happens um [Music] so the tool just for just to check it's called a mini cube no micro cube micro cube yup micro kubernetes okay so i ran that same exact command as before micro kubernetes helm3 upgrade and i'm pretty sure that means like or install when you pass this dash dash install flag and that's the name that i named it before are more and then that's the directory it looks like it worked let's run this command and see if we're getting that same error no it's running look at that that's awesome that's all so i found the image with our values.yaml um variable entry here and so now we could just come in here we could actually when we run the command oh we want to you know use the google cloud container registry so great man i love it because we are like doing step by step and it's it's making sense yeah look at that so we let me just destroy this one because we don't need that in there um mk ctl delete deployment for staging [Music] there you go i'm pretty sure there's a service in there as well nope oh it's named something different it's all server can you release that okay ctl get [Music] services you go no it's it doesn't exist so you're good we're all green so just to recap where what we did we created the pot and the service the pot defines which image to use and the surface defines how the pot is exposed basically like in this case it defines probably like a port that is used right um yes so the service let me yeah the service just says um which app do i want to serve um in this and then what port should i serve it on victor is it making sense so far yeah yeah yeah it's it's more clear now like i understand it uh more yeah so yeah because uh yeah and please let us know if you have like not super in-depth questions but like like from a logical standpoint you have pot services and then you put a load balancer in front of it to like expose your services to the internet yeah so the the bot we can think about just as a box that uh that runs your image and then you have the services that are okay so you just to be clear you can have many many pots within the same machine just to make sure yeah yeah and each part will run one image right yes okay okay yep and well you can figure the pods i'm sure that you can actually configure pods directly but we don't do that we configure deployments and we let our deployments create the pods okay and can we create like five just for for victor to see the logic here can we add the replicas to be five or something or three yeah so that goes down the values i'm pretty sure this goes in spec right i'm not really sure let's look at the kubernetes documentation because we want to show you how you can this is the beautiful thing about docker you can scale your service horizontally by using configuration like give me 10 instances of this yeah there you go yep inside this is right spec so we'll we'll do and you can try doing three modify the value on values that you know true the beautiful thing is that a kubernetes is smart enough where if you give it a factor of three then it's going to try to spread out that a plot across the cluster so that if a machine goes down you're good because it's going to be in different computers how neat is that all right so so i configured it let me just go back through that and talk through it um i changed the values yaml file to have a replica count of three and then i just called it inside of the web yaml file awesome and now let's run our upgrade yep happy help me that's awesome and then like you can check this into git and all from the sudden you have version like you are defining versions of your infrastructure you have versioning baked in exactly this is great so now we can list our pods got all our web staging pods oh my god oh this is great this is great man i'm just like getting excited about the possibilities with this yeah this thing is awesome i wonder how we can look at the logs and that's what i want to know oh you can do i'm not sure with the ui but the the cube con with cube control we can certainly look at look at that okay like if i select one of these [Music] i'll need that namespace to getpad you can say cube cubecontrol locks so in the yeah keep control logs and then the name then minus l so i'll give you the whole the whole command like uh it skips control logs then minus l or dash l then the name of the app um so app equal and then so i'll show you what we do for production and see if you can map it to to how we operate locally so that that's how we look at blocks telemetry service got you so i'm not sure what goes in so i'm pretty sure that mine the minus c is because in production we run the sequel [Music] yeah what oh because you use cube control yeah yep yep yeah this is great started three replicas i wonder if it it'll work no that's like running a different dock docker container yeah we'll probably need like an ingress there and stuff yeah expose it i'm cool if we like now if you feel comfortable going after the ingress i'm cool with that but we have we have we have created value for our viewers right like we we showed them already how to create a cluster from scratch and like add a web ui and it's running we can see a we can see it now we need to expose it right it's like making sense yeah now we need to ingress so we have one already that we can modify let's just copy it over now we use a lot of the google stuff so i'm not sure if it's gonna if it's gonna work just like copy paste because you know oh yeah google is a special snowflake and probably uses a lot of custom stuff like because when you deploy this to google cloud it creates uh it it com builds like a physical physical quotations right it allocates a load balancer right but so we don't need a lot of this i don't need any of this oh you just want and we're not even going to do teal i don't want to do tl right now tristan this online he's saying hi hey dude hello tristan hi how do we do it without tls i've never done it without tls let's see um ssl redirect no let me see if they have it in their tutorial micro uh my cue um so this config is saying um it's an ingress object and it's in the namespace staging you need to have your ingress in the same name space as your like cluster like your um your deployments or your pods in order for it to be able to expose them so that's important check this out bro i think you might want to look into this manual oh yep yeah so this looks very similar to our right yes um it's an ingress do you need to use that micro like the first line enable ingress yeah i do need to do this i haven't enabled this add-on so do that and and ingress is the fanciest name the most uh pretentious name i i've heard for a for like a nginx server right that's what it is it's just uh well ingress is just a really fancy way to say oh i think i'm sorry i lost you a bit there do you hear me now yes okay so in my opinion it seems like ingress is just really yeah yep i think it's actually specific to like networking right yeah yeah no it's it's correct but the way that is implemented is patching services using a nginx proxy and tunneling capabilities yeah it seems like kubernetes should be able to just do it out of the box without x i kind of am confused why it relies on that still yeah they try to keep that independent independent so that depending on the infrastructure where you are deploying there might be some more some some things available so yeah i think that you can use other services at like to your point like ingress being independent of nginx i i think that there are some other ingresses that you can roll out as opposed to nginx but nginx is like the what apache used to be 10 years ago is like the default right yeah we lost your video picture yeah yeah i know i'm lagging a lot so i turned down my my video all right i'm a bit lost here daario i don't know oh yeah i wouldn't define a host honestly no no no just go here and then you put the rule there and just map it to your service yeah that looks good to me to be honest with you all right well oh let's let it rip yeah yeah that's how we roll [Music] i don't know what engine x is do you like it i think i have a bad dml saying like i'm i'm doing something wrong in my yaml let's go back to now i was in chrome rules okay so this needs to have a dash yup stupid dml okay now let's check what pods we have well it wouldn't be a pod it would be a service let's just go um ingress there it is [Music] it's not as nice as google no google makes the ui a lot this is like the default kubernetes ui yeah but it does it does tell you the service and it tells you that it is exposed via the ingress who knows i yeah let's i have a feeling i just need to figure out the ip to visit it on oh i see so it won't be like cube cube control my micro cube wouldn't expose it via all right look at that hey what first attempt are you kidding me yep so it just took the cluster ip and it works you know whatever i see but are you hitting the the service directly where you're hitting the ingress oh that's a good point wait does the ingress have another ip probably let's check it out i know it's d1 on it but um yeah i'm a bit confused on how that works yeah because we might be hitting the service but that's fine that's fine uh yeah okay so it has internal endpoints set those are hidden for sure that's like inside the cluster we don't see those but we do see the service node not support maybe it just works because i'm like hitting it on local yeah see yeah because directly yeah so i'm not i don't think i'm actually hitting the anger let that let's see so if you uh well we why why don't we keep reading that stuff so we yeah let's go back over here um additionally the ingress add-on figure to expose yeah blah blah blah they don't really give a lot of good info here and let's see micro cube maybe there's like a default maybe there's a default port that they expose this ingress on let's see what i'm gonna do here is i'm gonna change the path to be something unique if you hit localhost what do you get you get do you get that other service that you were because you were running some other containers yeah there's like a docker pod running in the background let me just kill it yeah so that it doesn't mess with us [Music] let's stop it okay now if i hit localhost probably give me nothing i'll search google for localhost [Laughter] [Music] nothing i see oh i see there's there's um okay i i found a guy that did the end-to-end uh it looks pretty minimalistic but i think he does cover what we need and for all of you that are following hey guys i'll be right back all right we this is how we learned right like that's what we are showing you guys how do we go through the process of picking up a new technology so could you zoom in a little bit yep so this is how we pick up the technology we just go for it sorry go ahead you use this grey text it's not hard to read all right so huh oh he this is basically just creating a service that's what this command does and so we we're doing that inside of our yaml already and he's doing a load balancer but we're doing a node port well in production we expose i think we expose things through through a node port that then connects to a load balancer who knows what he has in that interest right he does he doesn't even show us a it's right here oh yeah that's his ingress oh i see yeah let's see what's in there that someone else someone yeah out there doesn't exist sorry sorry for sending you bad stuff it looked promising but obviously it's not okay here's what i want to do just to make things easier to test i'm adding a yolo at the end of our path so we we know that we're hitting the ingress when we go to that path so now i'm going to apply that update okay so now i should be able to go like [Music] i see i see that's fine but if you go to the service you should be able to you see it oh no if you're the to the service you shouldn't need yellow because the ingress doesn't have yellow exactly it's just exposing the port so now when we look at this ingress uh this information they give you out here is trash yeah it does cli i think um so describe address space staging oh it does the maybe doesn't see the body default back end default http back backend not found interesting hey i'm here again hey dude well look it found the ip addresses of all the pods so i i feel that this just not attached to the host maybe to the some micro cube that is not attached to to localhost it makes sense yeah that does make sense yeah and maybe it was like conflicted with that container i had running like when it started up so i couldn't do it oh i see so do you need to maybe like apply it again or something well i just did that oh i see it appeared maybe i need to restart micro kubernetes all right and we can call it after that after we expose it we can we can yeah i think that's a good place hopefully this doesn't kill our config but i guess it's super easy to just run if it does yeah and while you're doing that i'll still look for other tutorials out there [Music] yeah i'm pretty sure i just reset the insta entire cluster whoops all right my bad so yeah we're still learning how to use and everything it's a it's an experience i should have stopped and started come on [Music] i i hope that doesn't leave it in a bad state i know i was i just got impatient i shouldn't let's see what they say in here figuring services so mini coupon micro cubes are different right yeah i think so yep two different things they do essentially the same thing though i'm pretty sure our pots there or did it kick out our pots dashboard got disabled i think maybe it take them out [Music] but let's enable our dashboard real quick and see um okay oh here i'll check the pods [Music] oh they're still there cool just like for some reason the dashboard got let's um let's describe the ingress see if it can connect to the [Music] describing grass name space staging for more still still is complaining about well that's that's fine i think that default http backend gets injected by by default but it does see yellow right it does see yellow yeah so now yeah yeah wait why don't you try with that hey that's an engine x right there yeah and i was trying to hit it on um yeah that's it yeah that sauce that's like invitations well it has yolo used i think because of the route it's because of the yolo basically yeah it's confused yeah but you got it now it's just a matter of removing yolo from the yaml and you should be golden yep so you see guys we were right all along it's just oh son of a all right oh okay yeah you started yeah it left it in like a half disabled state that's kind of weird in a microsoft state you should you could say hit on microsoft state i like that yeah it's zombie zombie there you go beautiful so next time we can just dig in and do all the services but this is this is it so we got we got like the thing we have ingress and we have deployments and services we're exposing them we can yeah we can make it all super um dynamic next time yeah this is amazing victor what do you think do you feel like ssh into boxes or do you like this oh sorry uh what um can you repeat what what do you think about this approach to uh creating back ends um well of course uh at first as we experienced can be a little like you don't know how to start but um at the end just giving through some documentation you end up with some with something working like right now so yeah it's super helpful like this tool is super super helpful you just like mount uh the the ammo with a comment and you have uh you have your deployment uh ready and working so [Music] yeah dude it's awesome yep i think this is gonna um really speed up our like really when the thing this is really going to help we just like spent a bunch of time developing a feature and we're not really sure on how it's going to affect our system so now we can just with one command spin up a kubernetes cluster and see how things perform we can run this on google cloud we can run we could run it in amazon if we wanted to it doesn't really matter fantastic this is great guys well thank you so much i'm going to end the stream now thank you so much for watching let us know what you think and you guys have an awesome weekend see ya peace
Info
Channel: Security Union
Views: 1,021
Rating: undefined out of 5
Keywords: rust programming, kubernetes deployment, devops, helm charts, how to use helm charts, what is helm charts, how to deploy services, how to use kubernetes, microk8s
Id: GjP361tvL0Y
Channel Id: undefined
Length: 77min 10sec (4630 seconds)
Published: Sun Dec 13 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.