Simplify your Code with Helmfile

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] all right hello everyone and thank you for joining us for today's webinar brought to you by code fresh live today we are presenting simplify your code with helm file our presenter is Braden right staff cloud architect for root-level technology and he'll be joined later on by post escapa lowness DevOps evangelist for code fresh during the Q&A today Brad will go over some of the common problems you can solve with helm file and how you can use it to simplify your code and code but first before we get started a couple housekeeping notes we encourage your questions throughout the session just please remember to submit them using the Q&A button on your soon zoom toolbar rather than in the chat so we can keep track of them we will type some answers in the Q&A tool and we will reserve most for the discussion at the end of the webinar this session is being recorded and a link to the recording will be sent to you by tomorrow and that'll be from me so look out for an email from Taryn Jones add code fresh lastly please remember to reference code french do slash events for upcoming webinars as we have fresh and informative webinars for you several times a month so with that I will hand it over to Braden to kick off the presentation hey Brady hey thanks lectern so yeah my name is Braden right I'm a staff cloud architect at root levels so I've been using kubernetes for three to four years now and you know seeing all different types of installs currently I work for a root level technology we're a consulting cloud strategy partner so yeah seeing a lot of different types of installs migrations from data centers to AWS migrations from one cloud to another primarily with my focus around kubernetes so today we're going to be talking about helm file and we'll be talking specifically about helm code fresh and kubernetes so those are the things that at this point we expect everyone to know and at least a basic of what they are you don't have to have too much detail on how to use them but having a basic knowledge of them is good at this point so if you don't have that you might want to go look up some other basic webinars on those and then come to back to this at a later time all right so what are we going to talk about specifically today so essentially we're going to be going over some common problems that you might come across when using helm and a tool like code fresh for deployments and so the idea is to look at some of the patterns and some of the things that they do to help solve those issues we'll be going through a case study to do that so specifically like why Helms file like helm is great you know it's actually one of the things I really like about kubernetes is the fact that I can take this home chart that someone else has written and reuse it it's kind of one of those things that config management promise that was never really able to deliver on but as you're writing your helmet arts and going through setting up multiple environments and getting secret setup and those things you start to notice that there's a lot of problems that aren't easy to solve so like some of the common things that you might come across would be like if I could use an environment variable that would be great or like secrets are great but setting them up is kind of a pain so we'll talk about those things and a lot of other things that how the file can help address so specifically what is Holmes file it's just a tool that runs and manages home for you so you can think of it as just a wrapper on top of helm there isn't any vendor lock-in because it's actually just running helm so if you want to get rid of helm file you can just run helm LS and you'll be able to see all of your helm installs that were done by home file and then specifically it's giving you go templating without any restrictions so yeah in kubernetes they do give you access to going templating but there's a lot of things that they restrict you from being able to do so things like running a script is hard things like using an environment variable you can't do you can't use templating inside your values the ML files things of that nature so specifically here's kind of what a home file would look like at the top here you can see in a simple form you'll define some repositories in this case we're just defining the stable repository and then you can define some releases in this case we're defining two releases the release at the top is just an application that we've written I actually just ran Hjelm create and used what it generates which is an engine X hello world chart so in this case you have a few options you can install from local disk like in the top release you can see that says chart and we're using a local path to go up a couple directories and then find the application on disk or if you look at the DNS chart it's actually using the stable repository that was set up at the top of the helm file so you've got a lot of control there further you can kind of see at the bottom you can specify values files and that those can actually have templating and you can start to do things like control each version of your releases and there's a lot more as well but essentially it's a yamo file to hold metadata about more than just your helmet art so basically we're gonna be doing some walkthroughs and essentially what we'll do is we'll be looking at the idea of having this first application this nginx chart called my app which we want to deploy and basically getting it deployed into a product into a dev environment and then basically seeing some of the problems that might come up in some ways at home file can help with that so we're going to be starting with a GK cluster that has nothing installed on it and then and okay there's a little large it runs some of the deploys to make sure that they'd be up in a timely fashion but I did start from a clean cluster and then we'll also had to set up some GCP credentials for things like let's encrypts DNS which we'll talk about a little bit more and our specific example I used a mono repo so everything is kept in one repository but there is a lot of flexibility and you definitely can support like having a git repo per chart if you wanted more of an approach like that so one of the first things you may come across when dealing with with moving from helm to to helm 3 is that with helm to the actual repositories it would set up stable for you so you can just install from the stable directory and and yeah it would just work since moving to helm 3 they don't set them up for you any more probably partially because they are deprecating the public helmet arts repo at some point so I think they're trying to get people to move away from that so one of the common things that you know come across might be you had directions written out and everything was working great in home too but now you have a new employee and you've kind of upgraded to home 3 and you know the docs don't have anything about setting up the stable repo because when the docs are in it wasn't needed so one of the nice things is that we can just enter homes file yam we'll put a repository and we can put the stable repository we can put custom repositories that are either private to us or we can also do like public repositories maybe something like jet stack so basically all of them can kind of get defined here so then what happens in this case is when we run home file apply it'll actually add the repository for us and then you can see it actually updates that repository as well so then when it does the helm install we're not going to get an error everything's going to work as expected so one of the other things that just worked in home two but no longer works in a home three would be if you try to install in the namespace doesn't exist so in home to your chart would just create the namespace and then install into it and everything would work great in helm 3 they kind of got rid of that I guess to match the other patterns that they have other places and kubernetes and so now it's something where you have to make sure you set that up beforehand but it might be something that you forget so helm gives you the ability to use hooks and they basically have the the four hooks listed there the ones that I've used the most of them preparing cleanup and so you can start to address different problems with this like one thing you might be able to do is like maybe you want to run terraform to actually create your gke cluster before you run an install or in our case like maybe you want to write a script that will go ahead and create a namespace if it doesn't exist currently oh let's see so as you can see it's pretty easy there's just a hooks tab you can do and then the event and you can just pick a few options here in this case we created a script called create namespace and then we're just passing it in argument dev saying that we want to create namespaces for dev the tert that we wrote we'll go ahead and it'll create a Deb system and a Deb services namespace based off of that argument so here you can see that it went ahead and built and here's the logs where you can see that the actual namespace Deb was missing and so it went ahead and created the Deb namespace and then it actually started the deploy of the chart one of the big things that you kind of come across as you start to use helm is it's a black box as far as to what's going to happen so you can run helm install and it'll do the applying of the different kubernetes resources and kubernetes promises you that eventually it's going to get to match what you put in your yeah mole its declarative in that way so one thing you can kind of notice as you start working with other people or as you like put this into a CI CD system you want to know what it's actually going to change so this was something that you know as in tools like terraform and they had dry runs and config management tools but there's just nothing built in for helm specifically so there's actually a home plug-in out there called diff and essentially this takes care of exactly what we want here I'm like in this case you can see that the person who was going to deploy but they were on an older version of the chart so it was actually going to go back to my app 0.10 and if you look down at the bottom there the image it was actually a broken image before and we've since fixed that in the update so if the person were to roll this out then and they would break the application and things wouldn't work so it's good to know what you're going to change and be and if you put in a CI CD system then you actually have some history and some way to go back and look at that as well one thing to note would be that it doesn't work with a three-way diff currently which home three started supporting so specifically kind of what that is is helm two didn't support this but in helm three there's the idea that if you were to do a home release and then go do a coops TTL edit and actually edit the deployment and then try to do another home apply or helm install it didn't see the manual changes and didn't know that you basically needed to redeploy to change things or overwrite those manual changes so the three-way diff has to deal with those manual changes if everything's done in kubernetes then you will see the diff and hopefully that bug will be something that's fixed here in the near future so one of the big things that will come across is secrets secrets are awesome once they're created you know you can just consume them and your application starts to work but there's this initial idea of like how do you create the secrets after you create the secrets where do you store that sensitive data if you need to get to it so if I need to read that password or if I need to set up that same secret locally to run home like how do I do that and then also how do you like pass that around and share it so if I like apply something with a secret and then you want to spin up a new environment like how yeah how do you apply that secret as well so helm Secrets is another plug-in that is used to address this problem and so kind of to take a little bit of a step back if you weren't using home secrets you would have the option of encode fresh they let you encrypt variables so you can go ahead and you can see they're the home file secret cert or the DCP credentials both have a lock on the right there where you cannot reverse that so you're not going to be able get that data back but they exposed it as an environment variable inside code fresh to you so you can then use those variable as secrets like so maybe you setup environment variables like this and then run some coop CTL commands to create your secrets or maybe you set up environment variables and then use terraform to create your secrets so there's a few different ways to approach it but as I was saying the one thing that gets a little bit hard is like where do you actually save that info then if you want to be able to get back to it and like how do you have somebody else use that and so it just becomes a management and a sharing issue so with a home secret what they do is they actually give you access to values files like you can see on the right here where you can see the keys secret files and then the top level is the next key to really care about is g-cloud credentials JSON and so with the credentials JSON you can see here that it's encrypted and if we look specifically it was encrypted with PGP and they've got a little detail about that so the idea is that you can actually write these values in clear text something like this and then basically a home secret will encrypt it with the style you've told it I used Jeep PGP or GPG keys some of the other things you have access to would be things like AWS is kms or GC p's kms so you can use all different types of authentication it said so in this case you basically have your credential now in the value it's encrypted didn't save to disk and anyone who's loaded that PGP key can then decrypt it so it makes it really easy to pass around not just this one secret but numerous and then here's how you would I actually use this value to create a secret so this was taken from the public traffic chart and a lot of charts are doing similar things where they've got an actual secret resource that you're creating so the actual secret resore if you look here on line 13 is going to loop over what's under secret files and then it's going to have a file name and a content so in this case we're going to create a secret or the file names G cloud credentials JSON and then it actually has the content so this resource on the right has to be in the public kubernetes chart or in your own kubernetes charts somewhere if this isn't mist as how the official secret gets created so if this we're missing things don't fall in place properly but as I mentioned most there's a lot of charts it is a common practice to kind of have this available and so if it's not I'm sure they'd accept full request so a little more detail about home secrets is it's written on top of stops there's a handful of links out there and there's actually a medium article too about going through stops and home secrets specifically but it's basically a framework that lets you specify multiple types of encryption it's pretty granular you can specify fallback keys you can do different encryptions based on like the directory or the path so like maybe I shouldn't have the ability to decrypt some secrets but but Tarn should then we should be able to set that up so it would work appropriately and best of all like we said then it can just get committed to get and you can just run your home apply commands just like anything else and they've got tools built-in where it automatically decrypted and you've got command-line tools to edit the secrets file so that you can add to them and things of that nature one of the next things that helm does really well is you can actually have ordered dependencies one problem with like helm dependencies is that if I have a helmet art and it's my application and I depend on a database for instance my sequel then if I have it so that it can all be installed in one home install command it actually installs both those things inside the same release so for some things that's fine but some of the time it's better to have more separation there and be able to control like I wanted to play one part of the stack but not the other and the terraform world is gay and I kind of think of targeted thing so in this case with helmets nice that you can actually have home files set up to install your whole stack with one command but then add labels that you can use the labels to specify just partial deployments so if I just wanted to install the sequel server but not my application I could do a home file apply and then specify the label for my sequel so there's a few different ways to declare dependencies you can do it by actually depending on another home file or they've got the ability to have needs inside a single home file so for this demo I used actual different home files and would and would depend on those which we can take a look at here in just a minute so the same example I put together is going to install what's shown here ultimately we're going to have an engine X mobile application which we can hit with a DNS entry traffic is going to be used for ingress into the kubernetes cluster external DNS is used to sync DNS records where needed and then the first one is namespace so we want these two actually installing the reverse order so in the order that they're numbered we want namespaces to be installed first once we have namespaces installed you can install external DNS the idea of external DNS is that it looks at ingress ha's or host names and basically takes those and then we've set up Google credentials via a secret and it publishes IP addresses and fully qualified domain names to the Google Cloud DNS traffic traffic is a proxy it's written in golang it's kind of similar to H a proxy but the newer version it's written for it's written for the cloud so it's API driven and as I mentioned it's written and golang and it's a pretty powerful little reverse proxy it's got a lot of features in there I normally recommend it in cases where people want more features than maybe nginx can offer but aren't ready to go to something like Sto it really feels like it was purpose-built for this type of a situation so we'll use that for our ingress and then nginx as I said is just there to kind of throw up a hello world page so in the demo that we're gonna look at we're gonna go ahead and deploy my app in Grasse DNS and a namespace we're going to use the secret CMO like we talked about and in this case there's an actual CF step Hellman file that code fresh published so I was able to start with that but we'll take a look at some customization we did to get it to work for the exact situations that we're setting up so as far as the demo goes I'll go ahead and show you this first so if we want to take a look this is what we're trying to deploy or set up it's going to clone the repository we're gonna do a dry run of the helm apply to show us what it wants to change and then it'll need an approval before it goes forward and deploys so if we want to go back here we can take a look a little bit at this file so the clone step we don't really need to look at too much it's actually generated if you just create a new pipeline by code fresh so just kind of used what they gave me and then for the dry run we can take a look at a few things here so you can see that we actually actually published my own image in this case so basically all I did was I was able to clone code freshes CF helm step and then I just needed to make a few minor changes so the two changes I needed to make was on line 14 there I need to install a package so that PGP will work and then down here we had to on line 23 we had to go ahead and install g-cloud and that's used because i run some coop CTL commands those were actually the only two changes needed though everything else just fell in place and worked one of the nice things is that code Fresh had already put together a Python script to kind of take environment variables that were set in process so all of that was able to just stay and fall in line nicely so if we look here specifically at the code fresh step the tooth a few things that we're doing is kind of what I just mentioned so the first thing is we're taking this secret that we set up in helm file which is the PGP key so basically we're just going to base64 decode that value and shove it into a variable called private RSA so we're basics before decoding it because ID base64 encoded it so that I could shove a lot of information just on a single line I did the same thing with the Google credentials so you can see the next line we're doing the same thing with the Google credentials so then we're going ahead and activating our g-cloud installed to use that credentials file and we're setting our Kubb CTL context the cube context is actually tied to code Fresh's integration and it's just the kubernetes install so if I click over on my kubernetes clusters here it's just the name right here I'm home file demo so once that's done we're going to import the PGP key that we sent and then change directories so that I'm going to where my code exists and just run out and file so the and this one you'll see that we're setting an environment variable for the command to be diff the only difference when we're actually doing the deploy is that the command is set to be apply instead of diff and then the actual permission step is pretty straightforward it's this is the approval step and basically if you come down here there's a win that basically says that if it's approved we'll move forward so let's go ahead and look at a little bit of the code that we've put together for this so so the first code that we had put together was actually for the creating of a namespace so I kind of showed this in the slides but didn't actually run the demo but you can kind of see here like we talked about it's just a script and then the script that I had was pretty straightforward we were just getting a namespace looking at the exit code and then using that to decide if we should create a namespace or not so for this we're going to go ahead and look at what we were just writing out with the numerous charts and dependencies so we can see here at the top of our code two directory we've got this sop s ops file and all we're doing here is justifying a PGP key and this key is going to be used for everything because there's just the one rule there isn't any more detail in there so then the next thing might be to look at some of these home files so essentially we've got traffic for ingress we've got our application and so if we start by looking at our application at the top we have a home file and so you can see that this is going to depend on another home file so the first thing it's going to do is come across this and then it's going to see line two there and it's gonna go try to run traffics mountain file so when we go look at traffic's home file the second line is to run dns this home file so then it'll go run DNS his home file we look at that it's going to run the name space helmet I know essentially we get all the way here and this has repositories in the dev environment and the namespace release it's using a local chart that's up a few directories and then going to create these two namespaces so after this runs then we're gonna get back to more line four here and DNS is going to run and install and then traffic will finish installing and then my app so one of the other things to kind of look at here is the way I set this up I set it up for a single environment and then the idea of being as a next step will set up more environments and so basically in this home directory there's the charts directory which has the two custom charts were using my app and namespace we've got environments which we hold environment level values so in this case you can see that we were specifying a domain name Google project and then we're using the environment and to just set that as a value so you can set labels and some things of that nature so let's see so then if we want to look at the values Y animal we can see I'm doing some conditionals based on if there is a domain or not so essentially if there is a domain then I want to go ahead instead of ingress and the ingress is going to go to the specific traffic I'm trying to set up which will be for a dev environment dev - traffic public and it's going to set up the appropriate domain name and if the domains not set then ingress just isn't going to be set up so for this environment though as we looked we are setting a domain so everything should hopefully run all in place so let's go take a look here so what we can do in this one is we just need to run this for the most part so if we look over at the right here we're going to set it up for the dev environment it's going to deploy the service my app and it's going to use the directory of code code too so that should all be good so we can just go ahead and click run we can run it off the master branch and it's gonna start to deploy so this is the part where I kind of cheated a little bit so that we could just make sure all this stuff was set up and ready to go already so if we go back here and look at this run that I've already done here's the dry run and I'll scroll to the top so you can see that the first thing that season helm diff is the namespace it's going to create two namespaces dub system and dev services then after that we're going to look at DNS and create the DNS chart that we talked about sync that fully qualified domain name of the ingress and then [Music] if we scroll down a little bit further you can see it's telling you details about what resources it's updating I'm just scrolling through a little bit here because of our amount of time so here's traffic getting set up so we should have traffic all configured and let's see and then lastly is the my application you can see from looking at my application that it did set up the ingress with the domain name that we gave it so we should be able to just check this out all right mommy tried in an incognito that was being all right so yeah as you can see we can now get to our page we we do have a certificate here it's just not being seen as valid which is a little bit weird normally what's let's encrypt it and see that it was valid but so I'm not sure what happened with that process I would have to take a look and then for traffic specifically we were setting up [Music] you so here we can see now the dashboard we've got basically two ingress is one for the front end and then which is my app and then one for traffic which we just hit now so [Music] so specifically what ended up happening there was we only had to do a home file apply in the my app directory because all the dependencies were set so it didn't deployed our entire stack for us it's really nice if you're trying to test or maybe set up something in a CI CD system just having that ability versus yeah having to install you know each piece of the stack or know that you have to call three pipelines in the right order or script things out things like that so let's go ahead and go back to the slides here alright so one of the really cool things you can start to do with helm file is templating your values file so I mean this is very simple and what it sounds like but it's super powerful so you can see there I was templating by using values files to set up an ingress or not set up an ingress so all of a sudden if you want to try to install something that don't have a domain set up you can kind of do that and you would just port forward to the pod another thing you can do is you can start to use environment variables so you can say like maybe code fresh in an earlier pipeline ran terraform and then code fresh has the ability to set environment variables that all stay between steps so you could then leverage that in your home chart and basically maybe you know created eNOS domain and then pass in that domain name via an environment variable for instance you can do things like render out other files so the top section that kind of repeats I could kind of put that into a common file and just reference it versus actually typing that out numerous times you can run scripts and get details back from scripts so maybe you have a database where you store some information that you want to use so it really does get super powerful though so the next thing that we're gonna look at here is the idea that we set up our dev stack which is specified at the top and essentially we just want to set up a new environment but we don't have DNS set up for it I just want to be able to test something that I'm writing right now so what I did in this case was we used the templating to create a script that can use X IPO so X IP dot IO is essentially free DNS for you if you add an IP address in front of that you can just it'll just route to the IP automatically for you so we can kind of take a look at a little bit of what I set up here for this one all right so if we go ahead and look at the my app hound file to start with here you so essentially what we have I'm sorry I'm in the wrong directory I'm supposed to be in code oh three so I looked weird okay so if I go over here and I look at the my app directory then what we can do is rather than actually specifying an environment here I can use the tag so that whatever environment I'm running it'll use and then you can start to use variables and conditionals so in this case I said if the environments tab then use the dev a specific file that I set up that we looked at which had the domain name called out which is this one and then if we're not what we're going to do is we're going to run a script called get domain sh and then we're going to load the default values Y animals so the default just as the environment and project still then if we want to go ahead and look at this script forget domain name it's gonna go ahead and run coop CTL and it's going to look for a service in the systems namespace for the traffic public ingress that's been set up and it's gonna output the IP address from the load balancer so then it goes ahead and if it was able to do that successfully it adds X IPO to the end of it if it wasn't it's just gonna return a blank string so the idea is that the first time that this runs the service for the ingress for traffic has not been set up so it will not be able to get it but when you run on the second time it should be able to get that IP address and then use that IP address to set up all your routing and things of that nature so if we go ahead and look at our code fresh runs I previously ran this so that we didn't have issues which considering your github x' had some issues pulling in stuff is probably a good thing so here's the first one so if we look at it you can see that we're doing a diff and there's an install and so basically yeah completes the install and then the second time we run this we should be able to see where it specifies the ingress and where that shows up so if we go ahead you to the pipeline which was the next run I did right after that one nice grow up you can see that there's a lot less output here so these top charts are barely changing at all some of them aren't so if I scroll down here you can see I'm turning on SSL for traffic for the ingress we were setting up an SSL cert for that X IPO address here and we're going to use HTTPS now and then once here's where the Google project is getting set up for the DNS configuration [Music] down all the way here you can see that the ingress is getting set up for traffic public at that X IPO address you see if that's up as we'd expect you and it looks like it is and then the other thing we can look at is here's the ingress for my app and we can see that that's hopefully up as well yep and then so at this point we could essentially just run a pipeline for anything we wanted and you know as long as you run it twice you would at least have DMS accessible so I'm the specific pipeline if I were to run it we could override a few of the build variables like maybe we want to build something called my test environment so MTE and then this code is actually in code 3 I use the same pipeline for both directories and so then we can just run and yeah it should do its thing and at the end we would again this type of another environment here so let's as you can see how I'm just gonna fly through this but we set up multiple environments in the same class there you can also set up multiple environments in like different clusters you can specify the coudé context that it's going to run in and the fact that they have the templating makes it really powerful to set up like ad-hoc environments so they've got other features too we mentioned you can do a repo per chart and also you know they've got different modules to go from some people do like a top-level home folder to play everything and then just have the individual home files not have dependencies so there's a lot of different ways you can just get a cat so yeah we decided to go with the mono repo you can't go at the purge record and grab things from different places like GCS and github and things like that for your home file so I would say the big thing is just as you're getting out there like I don't try to recreate something yourself if you're running into a problem that you think everyone else is having so you know there's home plug-ins to look at which work really good just looking for tools in general for the problem that you're trying to solve helmsmen is a tool that's kind of a competitor to Holmes file but also solves things in a different manner so customized is a tool that's pretty popular out there you can use home file with or without it but yeah just check out the ecosystem and along those lines some of the tools that I don't know I've come across while using that our common would be like free loaders a nice one that if you want to reload a pod after you change a secret or a config map it can take care of that external DNS which we talked about things like cert manager for managing SSL certs and velaro for backup so there's lots of tools out there and people are trying to solve the same problems as you are so overall this was just meant to be a case study to start to show you some of the you know things that home file can do and some of the problems it can take care of personally I liked it because of their going templating and how much power you have with that so that was the reason I decided to look at home file over some of the other tools like homesman for instance but really just try it out look what's out there and yeah I think you'll be pleasantly surprised that it's a simple tool that can give you a lot of power and so I think it's time for questions excellent thank you so much Braden for that great presentation in demo and reminder to everyone to enter any questions that you have in the Q&A icon on your zoom toolbar and then we'll get them answered so our first question is can helm file deploy from customized templates templates instead of helm templates yeah it can if you're using customized you can both use like customized with helm and without I haven't used customize too much so don't know all the details about it but yes it definitely can all right thank you and then I just want to clarify in the chat I see they're just asking if the presentation presentation deck will be available I know there are a lot of great links in this deck yes absolutely I will send the recording and the deck to you by tomorrow at the latest and that'll be from Taryn at code fresh do so look out for that so our next question is is the demo apps for this presentation available on github yes so the demo is out there there's a few things that aren't covered in the demo like the GCP setup of the credentials or the code fresh like I went through the UI to do some integration so it shows there so those pieces aren't covered but all of the actual things you need for this are in there and I'd be more than happy to help out with those other things if somebody posted an issue on the github or emailed me or you know reached out in any way so yeah it should all be there for you to use excellent thank you and just reminder to if anyone has any other questions please enter them into the QA and do while I wait for those just going to launch a poll real quickly we really appreciate your feedback let us know if you want code fresh or root level technology to reach out to you and provide some more information and I have also at coast us on the line from who's our chief technology evangelist for code fresh costa's did you have any questions I think it's also important to mention some of the differences between gem file and challenge man because people would want to know about this yeah so for that I think what we'll probably do is we'll probably just do a separate webinar to go into like hide like you know the nitty gritty and get into more details on it but at a high level all of them were trying to solve the problem of multiple home releases and multiple home deploys and how do you deal with tiller and a fresh cluster so but homesman took an approach of using tamil files so they've got a few cool features like you can upgrade your releases so if you have like an environment and want to push it from dev to prod they've got like things but not yeah strategy to deal with that but to really kind of get in and yeah do a good comparison I think would probably take a little more time I have another question from Michael being that helm 3 deprecated the CRD install hook can helm file help with installing operators um yes I'm sure it could because you know the hooks are you can tie in and everything but hell 3 does have a way to deal with that they just want you to put those into specific directories so that they get applied first so I would say that you know I probably just like to do it the native helm wave but but yeah if you ran to an issue there you can probably use it to figure out a workaround sounds good and looks like that's all of our questions for now and coasters are Rayden did you have any final comments or topics that you wanted to bring up before we close out no not specifically just you know everyone in the kubernetes environment is awesome and doing a great job so like I said you know look it's out there and leverage the tools I personally I feel like it's an anti-pattern to try to customize things on your own too much sounds good so on that note feel free and reach out to to root level technology or to code fresh check out code fresh do slash events for our upcoming webinar since we might have a follow-up webinar to this one coming at you soon and thank you all for attending we really appreciate it and we will see you next time on code fresh live Thank You Bradon Thank You Costa Sandburg one for joining see you next time thanks Andrew [Music]
Info
Channel: Codefresh
Views: 4,389
Rating: 4.652174 out of 5
Keywords: devops, helm, helmfile, kubernetes, containers
Id: jl13ixzteWs
Channel Id: undefined
Length: 50min 2sec (3002 seconds)
Published: Thu Apr 23 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.