Kubernetes Architecture Explained
Channel: School of Devops
Date: 2020-07-31

This video explains you all the components of the Kubernetes Architecture.  You are going to learn the following components, 

- API Server
- Scheduler 
- etcd 
- Controller Manger 
- Kubelet
- Runtime e.g. Docker, CRI-O, Rocker, Runc
- Kube Proxy 
- CoreDNS
- CNI



If you like this video and want to learn more about Kubernetes, do subscribe and click on the bell icon above to get notifications on all new videos from School of Devops. 

If you want to Master Container Based Software Delivery and All Aspects of it  using a step by step, structured program, do check out the following courses 

 * Docker Mastery :  https://hub.schoolofdevops.com/p/dock...
 * Docker on Windows Mastery : https://hub.schoolofdevops.com/p/ci-a...
 * Kuberentes Mastery: https://hub.schoolofdevops.com/p/kube...
 * Openshift Mastery: https://hub.schoolofdevops.com/p/open...
 * Istio Mastery : https://hub.schoolofdevops.com/p/isti...


If are not already part of the tribe of Elite Devops Ninjas, a private Facebook group, do join  at https://www.facebook.com/groups/devop...

To get started with Devops Careers join the webinar at http://roadmap.schoolofdevops.com



Video Transcript: 
in this video i'm going to explain toyouthe kubernetes architecture nowkubernetes kubernetes has thesemaster and the nodesthe clients or the workers are called asnodes in kubernetes terminologyand the big box that you see here is themaster now kubernetes mastercontains many components starting withtheapi server api server is the interfaceto the outside world soanyone who wants to talk to the apikubernetesenvironment has to go through the apiserver it could be the usersit could be the kubernetes dashboards orit could beany third-party application let's sayopenshift sits on top of kubernetes soit has to go through the api serverin order to leverage the kubernetesfunctionalitieseven the nodes talk to the api serverthere's a component from the node whichwe're going to look at laterwhich talks to the api server api servercoordinates with all the othercomponentsand then gets things done the secondcomponent which is also very importantis the scheduler now let's look atwhat scheduler actually does so when youwant to launchyour container based workloads you mayhave you know maybe hundreds of nodes inyour clusterso how do you decide which containerruns on which node that you havenow for that you may have multipleconstraints so you may want to run aparticular typeof work workloads on particular type ofnodes may be cpu intensive operationson cpu optimized machines and so onor you may have constraints you may haveyou may define affinities and so on soscheduler isthe one which provides the intelligenceand makes those decisions for youintelligently and decideswhere to run which container the job issimplethe next component is the controllermanagernow controllers are the ones who areresponsible forproviding the application deployment theway the containers are launchedthe way they scale and uh the way theyare deployed the word new versions ofit and so on right and then there aremanydifferent controllers which areavailableinside kubernetes so when you want torunthose multiple replicas and run yourapplication with high availabilityit is the controller like deploymentwhich provides you with thatthe replication uh scalingand the strategy to go from one versionto anotheris all defined and controlled by thecontrollersand then there are different controllersthat kubernetes hasfor different types of workloads let'shave a look at thoseso when you want to run those statelessapplicationstypically your application servers andso onwith high availability you would use acontroller by name deploymentwhen you want to run agents let's sayyou want to run monitoring agents youwant to run somethingon every node in your cluster you woulduse something called as a demon setdemon set guarantees thatyou run one node one instance of thatapplicationon every node when you want to runstateful applications like databases andso onyou know where you need persistentstorage and certain way of deployingthose and so onuh you would use stateful sets to run adhoc jobsyou would use the controller called jobswhich is runto completion and when you want to runcron jobs there is a controller for ittoonow kubernetes actually even thoughthere are different controllers all ofthose are compiled intoone single binary and thatis the controller manager component thatyou seerunning on your kubernetes master so allof these arecombined into the controller managerand the one you saw in the architectureearlieris this component that's the one that'sthe controller managerso we talked about api server thescheduler controller manager and nowwe're going to look atone of the most important aspects andthe component of kubernetes the brain ofkubernetes that is the hcdwhy i call it's not really the brainbecause it's more like a storage....