Amazon EKS Explained

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey everyone sai vennam with aws now if you've  seen my videos before you'll know kubernetes   is a great way to run containers at scale but  a lot of you might be wondering when to take   advantage of a managed kubernetes service from  a cloud service provider of course today we're   going to be talking about eks elastic kubernetes  service from aws we're going to be diving right   in so if you do need a refresher on kubernetes  be sure to check out my why kubernetes video   all right let's dive right in with the managed  service what cloud service providers are doing is   managing some of the undifferentiated heavy  lift for you this isn't special work it's just   work that needs to be done in order to maintain a  highly available and secure scalable environment   now eks is no exception to that eks  manages one pretty vital piece of   the kubernetes architecture for you  that's going to be the control plane   i'll sketch that out over here now today we're  going to keep it simple we're just going to   call it control plane but just know that this  includes a number of components kube components   etcd the api server essentially it's handling  communication between you as an operator the cloud   service provider itself aws as well as the data  plane or worker nodes which is where containers   actually live which we haven't sketched out just  yet now the critical piece about the control plane   is that it's running in an aws vpc not a customer  controlled vpc so aws is going to handle things   like the backups and the scaling and the patching  and the upgrades of this environment and so as   your workload scale up this is going to scale up  to handle that as well so this is a piece that   you really don't need to worry about it's that  undifferentiated heavy lift and aws will really   you know manage this piece for you so the control  plane is going to be able to communicate with   the data plane and this is kind of the critical  piece that as a customer you need to be focused on   and this is going to be running in your vpc and  and essentially what this means is that you'll   need to spin up some compute and then you'll have  more control and access over that environment   so let's talk about that let's talk about the  compute because before we have that we can't   actually run any containers it could have a  control plane but it won't know where to run   the pods the containers themselves but looking at  your vpc let's say we decide to spin up some nodes   now there's a couple of ways to approach  this i'm going to start with the way   that's a little bit more complex that's going  to be self-managed nodes so let's say we're   spinning up some ec2 nodes here and there's  a number of considerations i'll need to take   into mind here things like the ami the amazon  machine image essentially the operating systems   components that let it work with eks i'll need  to register these nodes with the control plane   give it the right permission so it has access to  access the workloads running within the cluster   within our vpc in addition we're going to need to  do things like patching and upgrades and scaling   so you can imagine there's a lot of automation  that i'll need to build here but luckily there's   an easier way to do this it's called managed node  groups so eks has basically extended their api   and has now given you a way to manage and spin  up essentially it's a provisioning and life   cycle management of the compute the ec2 nodes  and you can streamline them with single api   commands and operations so for example creating  the node group itself scaling it up and down   another one that i want to mention here is that it  comes automatically with a ec2 auto scaling group   now of course we won't run the security  patches and upgrades for you but we'll give   you a streamlined way a single api call that you  can simply call to make that upgrade go through   and this can really streamline some of  that operational overhead of maintaining   the individual nodes now i should mention here  that you know when running in aws public cloud   with eks you can go with ec2 or fargate fargate  is the serverless approach to the compute   for customers that don't want the operational  complexity of managing individual nodes   even in managed node groups fargate can give  you that serverless approach of course there   are servers aws just manages them for you giving  you the right size compute for your workloads   reducing some of that operational complexity now  of course for eks running in hybrid environments   let's say on premises or on the edge you can  take advantage of eks on outposts or eks anywhere   check out my video where i talk about those two in  a little bit more depth okay so we've laid out the   control plane the data plane the worker nodes and  you know now we have a way to be able to execute   commands against the cluster you  know i can use something like kubectl   to run commands and deploy pods and containers  the standard kubernetes environment one thing i   should mention here is that eka has a certified  kubernetes conformant essentially it means that   as we're using an upstream version of  kubernetes we pass all the conformance tests   and long story short whether you're running  kubernetes workloads on premises or another   environment another cloud service provider you can  bring them to eks with little to no code changes   i think that's some of the the magic of using  kubernetes on top of aws as open source platform   where there is a large community backing it okay  so how do we actually create something like this   right how do we create these nodes compute  the control plane now of course one of the   approaches and this is something that many people  start with when using a cloud service provider   using the console and this is a fine way to  get started let's say we use the console to   create the control plane itself it's pretty  easy to use the ui to do something like that   now let's say i want to do something  a little bit more complex let's say   i want to spin up the actual compute the nodes  so i'll need to make some decisions like how   many nodes what type of nodes that kind of thing  and so to do that let's say i want to use a cli so   use something called eksctl or eks cuttle whatever  you like to call it essentially it is a cli   that aws built for working with eks  specifically as the name implies   so i could do something like creating a managed  node group with that cli tool in fact i could   create the whole cluster with the cli as well  using a single command like eksctl create cluster   but there's one more approach i want to talk  about and of course i'm not limited to these three   but i do want to focus on these terraform and  terraform i think is a very popular way in the   community to manage infrastructure as a whole it's  an open source infrastructure as code tool and aws   is supported especially eks specifically and  one of the things that you can do here with   terraform is manage all of the kind of  infrastructure components along with eks   as code and this can be a very popular approach to  kind of automating infrastructure you know whether   using git ops or maybe something a little less  full-blown terraform is a great way to kind of   kind of codify the architecture here  so okay we've talked about some of the   operational aspects here of how you can kind  of deploy the control plane the data plane   the last thing i want to touch on here is the  fact that although eks manages the control plane   for you and even some of the operational  lift with things like managed node groups   as customers are building containers and workloads  on on eks they realize they'll need to integrate   with aws in a number of different ways whether  it's load balancers or things like iam identity   and access management secrets manager integrating  with the vpcs so regardless of what specifically   it might be just know that there's a number of  extensions add-ons and drivers that you can use   with eks and i'll represent that kind of simply  here and just say that you can integrate eks with   a number of aws services now in the description  i'll give a little bit more information and   pointers into what those add-ons and extensions  extensions are so be sure to check that out   last thing i'll mention here is that like i  said eks is certified kubernetes conformant   you can take advantage of the number of open  source third-party capabilities out there as well   one that i like to talk about is carpenter  that's carpenter with the k it's a great open   source project built by aws we contributed to  the community that essentially enables you to   better optimize additional class additional nodes  coming up in response to load so it'll look for   unscheduleable pods and i think it's interesting  the ways it optimizes the infrastructure   especially when running on something like ec2  so be sure to check that out i'll drop a link in   the description below all right that's all i've  got for today just to kind of quickly sum it up   with with managed kubernetes services like eks  we talked about some of the different components   with eks specifically but just know the idea  here is that aws is handling some of that   undifferentiated heavy lift for you allowing you  to focus on what really matters developing highly   available scalable containers and really  focusing on that kind of data plane aspect   now if you enjoyed this video or you have any  questions be sure to drop a like and a comment   below be sure to subscribe and stay tuned for  more videos like this in the future thank you
Info
Channel: Containers from the Couch
Views: 32,895
Rating: undefined out of 5
Keywords: What is EKS?, Elastic Kubernetes Service
Id: E956xeOt050
Channel Id: undefined
Length: 9min 24sec (564 seconds)
Published: Wed Mar 30 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.