1:04:49
2022-11-21 11:28:21
44:16
2022-11-21 13:36:53
44:08
2022-11-21 14:41:53
10:27
2022-11-21 15:56:25
Visit the Certified Kubernetes Administrator - Exam Preparation course recordings page
WEBVTT
-->
So who is this again who reported this show I can directly log into your machine
-->
Malos, right? Okay. Let me connect your mission. Okay, Cuba Nets
-->
Annotations is this all spaces or use the tab? Okay, if you stabbed obviously it will throw your ears
-->
Well, you're up a cubanets.io slash change cause
-->
Or looks good
-->
Yep
-->
Can you modify another different version and try apply again? Okay, save the file and then
-->
Apply it. It's
-->
Nothing difference if you are going to apply at
-->
Deployment level or at
-->
Template level because anyways a system result key
-->
It's going to pick it and then it's going to use it
-->
So there is no difference you can deploy that at the deployment you deploy at the deployment metadata level
-->
Right. Yeah, you can you can have it there also. That's okay. I think my loss. It's reflected, right?
-->
There is no problem with the with the key. Okay, okay
-->
Revision number yes
-->
Revision revision number is associated with a specific application version
-->
The revision number will be continuously incrementing. Yeah, any other questions?
-->
Okay, so the concepts that we learned on day one, which is the base for all other day two and day three topics
-->
Remaining topics you will we will simply discuss the use cases. We won't again deep dive into hey this works by label
-->
This is how it's going to do it
-->
I will simply touch on it saying hey this works by labels and then we will deep there the use cases for each
-->
Of this right in tomorrow's session. So tomorrow's session the pace will this is going to be
-->
Little bit fast compared to today
-->
Because we got our basics right that out on day one, so it's going to be a little bit fast
-->
So please be prepared for that again
-->
We can adjust it if you feel it's going too fast or way too slow something like that, right?
-->
So we started with the overview on
-->
Why containers so far that we had an understanding on the challenges that we face
-->
Maintaining and monolith application
-->
Which is also in legacy one and then how we move to so one then micro services
-->
Because we have micro services how to run it as and containers
-->
Because we have containers everywhere
-->
relying on it software like our kubernetes to manage it all and
-->
What it all takes to form a kubernetes cluster by grouping the host machine
-->
So all those things we will cover it covered it under the overview section, isn't it?
-->
and then we started with our first kubernetes resource and atomic unit parts and
-->
Here we learned all the lifecycle commands
-->
as well as
-->
Writing and part specification from scratch
-->
Including the probes resources volumes, right all those things we discussed and then we created a deployment and replica set
-->
We learned what is the role of replica set how it works by labels and label sector how to assign and assign a label
-->
using the labels in the selector queries how this hierarchy is using that CS equals DS and
-->
finally on the deployment
-->
specifying the strategy and
-->
And the rollout features and for all of these topics. We also tried some hands-on
-->
Okay, so that's all for day one. Congratulations. You successfully completed day one. Good job guys
-->
So tomorrow we have another set of interesting topics and hands-on should try so please keep the same excitement and
-->
Commitment so
-->
That's it. If you have any questions, I can address it now and for those
-->
who
-->
Went out and in because of some power failures or some
-->
Important calls if you want to have a quick connect with me, please drop an email to me
-->
With some teams link or whatsoever so that I can join here and we can have a quick one-to-one connect
-->
And I can I will make sure I will address all your queries. Okay
-->
Any?
-->
Yep. Yep. Yep. Sorry. What is what is that? Sorry. Go ahead. What's the question? Mm-hmm
-->
Correct. Correct
-->
Okay, okay, okay, so two questions you asked right number one number two number one is related to
-->
The replica said the component behind it and all those stuff, right? So I already addressed for one of the question
-->
So keep it in mind
-->
The important components involved is AP server cube controller
-->
Cube scheduler, okay, so which means for all the resources we see in part we have one part controller
-->
Replica set replica set controller is that deployment deployment controller is that deployment controller is taking care of executing that strategy?
-->
Handling the rollout and all those stuff replica set controller is responsible for
-->
executing an infinite while loop
-->
To perform CS equals DS job. So all those controller
-->
Code is all rolled up into one binary and it is running as an cube controller part in the cube system namespace
-->
So this is the one that has that logic
-->
Okay
-->
So if you are doing scale up or if it is something is missing and you want to schedule more parts for a specific
-->
replica set let's say you have a replica set with 3s replicas you modify to 5 then
-->
Cube controller is going to update the specification all these components relies on the
-->
HCD database to maintain the state information of the resources and the cluster
-->
So if you modify it to 3 to 5 in the etc database
-->
For the three for the three parts you will already have a node for example part 1 node 1 part 2 node 1 part 3
-->
node 2
-->
You will already have this assignments already you created two more parts and then for this the node is yet to be assigned
-->
so that's where cube scheduler will kick in and
-->
it will look into the current cluster state the node the resource availability and
-->
Then it will consider various interacting factors for example. We are going to talk about
-->
Pod affinity anti affinity node affinity so it will consider various interacting factors
-->
And this will finally say hey assign part 4 in node 3 part 5 in node 1 so it will put that information here
-->
So once this information is here, which means a node is assigned, but this part is yet to be
-->
Scheduled on this mode right so that's where again this instruction will be passed by one of the master component
-->
let's say scheduler to the node 3 cubelet and
-->
also an instruction will be passed to node 1 cubelet and
-->
These guys are going to create work with the underlying container runtime to create the container and wrap it as a part
-->
Create a container rapid test and port and then do all the liveness and readiness from here right so the
-->
component behind the scene that that's the reconciliation logic are
-->
Managing that resources if it is a deployment deployment controller is managing it if it is a replica set replica set is managing
-->
controller is managing it and
-->
For the scheduling decision where to schedule if you delete a part a replacement is going to be created
-->
where in which node that purely depends on the
-->
cluster state in that moment
-->
that cube scheduler knows
-->
So if you are not happy with the scheduling decision that cube scheduler does you can also run your own custom scheduler
-->
along with the cube scheduler and
-->
For the applications XYZ ABC you can configure it to use the custom scheduler all are all other applications
-->
Cube scheduler can make the scheduling decision you can have one or more scheduler components running in the cluster
-->
You can even have your own own custom scheduler logic for your custom applications
-->
Okay, but all the state informations are ATCD and the APA server is is a stateless
-->
Component it persists every changes to the ATCD right and if the replica set controller is executing a command write kubectl get parts
-->
With all the parts with the label so actually your controller will make a call to APA server
-->
To execute the cut to query the cluster
-->
That is my thing. I think it went
-->
so controller will make a call to
-->
APA server and it will get a response and then it's going to put an entry in the ATCD database
-->
So that's how the interaction between the master components happens
-->
Okay, so that is for your question number one. Is it clear on the question number one?
-->
Question number two is if if if in the node if I have two same application part running my web my web
-->
Both are going to use port number 80 80 80
-->
So is it going to be a conflict? Yes, you're right. It's a conflict, but this is not the way
-->
We are going to access the parts
-->
we have one service that is our that is the first thing that we are going to discuss tomorrow morning and
-->
we are we will expose this part and we will access it via service and
-->
you won't get into this scenario still you can have many parts of the same application and
-->
We will never get into this poor context scenario or that first you need to learn what service resources how it works
-->
Right. So answer for this. We are going to discuss tomorrow
-->
Okay
-->
Yep. Yep. Yep. Welcome
-->
Okay, did the guys are there? Okay, if you still you guys are that thanks for your time
-->
And do you have any specific feedback that you want me to correct for the day to all right?
-->
I will take this silences and no and
-->
Enjoy your rest of the evening and see you guys tomorrow morning 9 a.m. Again. Bye. Bye. Take care
-->
it will be there until the
-->
Wednesday
-->
Evening right so you can access it after the course time also it will be there until the end of the day 3
-->
Thank you. Bye. Bye