What is Kubernetes and How does it Work?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] hi welcome to this episode of a lightboard lessons and today we're gonna talk about kubernetes and what is kubernetes and some of the architecture of it and what not well hi I did not know this so this is not my fantastic lingual ability but kubernetes is Greek for pilot and and so it's apt for the application set and so we covered before what containers are and what kubernetes does is it allows you to have an automated automated way to schedule and distribute application containers across the cluster so what it provides you is scalability high availability monitoring of all of your containers and you know if you if you have an application and you've got a few containers and that's all you have to manage no big deal you deploy your containers and you're good but as that grows the ability to manage that manually it gets out of control and so that's where solutions like kubernetes come into play and so let's just kind of cover the overall architecture of kubernetes and and then and then we'll wrap up so first of all you have the master and as part of the master you have you know a lot of our superdad ops talks DevOps you've got this this source of truth right and and so the the source of truth for a Bernese master is this etcd and and so that's attached to the master of this this cluster that that we're working on and also we have an API server we have a scheduler and a controller and of course you have the API itself I don't know why I boxed it like that that was weird and so you have you know Jo user out here and he may come directly through the programmatic API he might first hit a CLI or a GUI using the API and whatnot but you know all those api's come in and your managed by this API server and then from the master you have and will kind of climb the ladder here let me start with a box so I don't get out of my space but this box would be a node and a node is gonna be your physical or virtual machine this is where all your your compute would be and so within nodes you have the basic building block of kubernetes which is a pod and a pod can be one or more containers see mostly kubernetes work with docker but you know it works with other containers as well but you have in a pod one or more containers and then a pod is is spun up and destroyed there's no resurrecting pods they will spin up a new pod when the old pod is destroyed so it's a one one time thing for for each pod but you can have multiple pods on a node so if you think about this as like a an ESXi server host virtual machine host then you have multiple virtual machines within it well a node is a single compute instance that has multiple pods each of which could have multiple containers within it so the so let's say on this node once we have that pod we have a bigger pod and then a couple smaller pods and the master is taking care of scheduling where and scheduling controlling where all of this stuff lives and and so if we had that node let's just kind of come across here and and and we're having a second node so we have node 1 and node 2 these are separate compute instances and so we have another pod and another pod all right so within kubernetes you can start up a pod and and kill a pod but if you if you kill a pond there's no process that's going to come behind you and spin up another one and that's where the next kind of building block comes into and that's where you would have a kind of a replication set so this is policy that it's going to say for this replication set on this I want to spin up these sets of of pods and you know out here to the side I should draw all these containers you know you have some kind of an image store or a repository or whatever but all your images so it's going to come out and find all your images and so when you configure a replication set say I want three instances of these pods running at all times and and so this is where you know desired state comes in and so if it's going to track to make sure those things are running so you can query via the command line or API whatever and you can see if you're at your desired state on whether or not all of your in-store pods are running that you expect to be running in that replication set and then you can kind of wrap that even a little bigger with deployment and deployments can track versioning so if you want to upgrade your deployment from v1 to v2 maybe you've changed a little bit somewhere in your application you could do v1 to v2 then that will kill your existing pods spin up the new ones and it will give you that transitional data flowing through that instance and so all of this here is control plane so we can kind of control plane and control plane and say we want pods equal three for this particular replication set to say that happens to be these three pods okay and another replication set is controlling some level of these other pods all right now on each of these nodes we have this couplet and this is kind of the the daemon that's kind of running on a node to talk to master and make sure that pods are running and it communicates monitoring and and scheduling all that so each node has this couplet process running and it also has what's they call the Kubb proxy and so this is kind of where your your access to these pods is is going to occur so you can have out here a service and so the service is also attached to a set of pods and until you're like well what's the difference between a replica set and a service if they're both attached to pods and the difference here is control plane versus data plane so say the same set of pods I have attached to the service this is data plane and this is where our users are going to come in so this is you know IP port access into this set so locally here on a node locally on this node you also have over here the same you have a couplet and you have the the proxy okay and so they manage the communication between the pods so that's that you talk about that automated configuration that you don't have to build headaches to worry about how they communicate that takes care of that networking communication for you so once you've established that the access into that is this IP in port that's where you can give access to direct users or if you wanted to have some kind of advanced services out at this level say you wanted some kind of security services or additional traffic management services so like SSL offload or you know name name your service in the application delivery portfolio you can do any kind of those services out here in front and so you could have multiple collections of pods to to manage that however you want to architect your applications so you know again we have data plane from API server coming here to deployment replication set into this via I should have drawn that via the couplet and and then we have the data plane coming through cube cube proxy into getting access to the pods so in a nutshell that's that's what kubernetes is there are tons of tutorials out on YouTube if you like video like this there are tons of write-ups kubernetes documentation on the site is also quite good and so I hope this is introduced you into the kubernetes ecosystem and thank you for joining us and if you like this video subscribe and we'll see out there in the community you
Info
Channel: F5 DevCentral
Views: 16,349
Rating: undefined out of 5
Keywords: f5, devcentral, lightboard, kubernetes
Id: ALW6VBviSgQ
Channel Id: undefined
Length: 11min 44sec (704 seconds)
Published: Mon Jun 18 2018
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.