2:25:36
2024-12-16 09:21:57
2:03:59
2024-12-16 11:06:33
1:46:52
2024-12-16 13:50:28
1:56:02
2024-12-17 09:35:43
1:52:29
2024-12-17 09:39:32
1:51:17
2024-12-17 13:36:38
1:35:13
2024-12-18 08:59:20
23:23
2024-12-18 11:50:59
1:47:49
2024-12-18 13:41:04
Visit the Docker and Kubernetes Training Course course recordings page
WEBVTT
-->
Gene, you're good, then we're talking about CK, you're good, APT remove, APT remove docker.io,
-->
choose yes, charge, what about you, okay, good, so now what we'll now do is type
-->
exit, type exit, now are you back to your initial box, yeah, now login to the
-->
machine of the other, which is a bigger size, so let me use the command, go to
-->
the location first, cd home student dm underscore details,
-->
one second, I'll bring that from the path of it,
-->
so close the window and come back to close the terminal everything, close it and in the main
-->
your box which are connected, in that click on terminal, do you all see student at your name,
-->
everyone, yes, in this now go to cd home student and the dm underscore details,
-->
so be in this location,
-->
and now ssh-ip.pem username open to and the bigger one, be careful in here,
-->
so you won't use a bigger one, for example this is mine, 13, use us and press
-->
it, and it will be connected,
-->
so let's continue, so now what we do is,
-->
first step one is sudo su-hide
-->
sudo space su-space-hide
-->
now let me talk about the steps
-->
access module 2 labs everyone please open this go to module 2
-->
labs and under that access the first one
-->
we'll talk about lab one open this yeah now i'll explain this is i made a very
-->
simple team which is follow steps will be easier for you
-->
so right now we only have three machines so tomorrow if you want to do
-->
yourself you have to create three bms like open to mention the steps
-->
now right now we are logged in already yeah
-->
so in case you log in yourself and put you using this
-->
now we're going to set the host names we're going to install this
-->
and we have a script the script is going to install
-->
configure kubelet others go ahead and say fifth step
-->
all this is for continuity which we saw the plugins
-->
the kubelet kubeadm all these is part of the script you write in the
-->
script and then we done the script
-->
making permissions once the script is run
-->
we observe it and then we control the version of kubeadm
-->
kubelet and kubesatl on the master yeah but first do the step let's go
-->
step by step so for this open the document
-->
start from the third step three four five fifth one file name all
-->
these must be inside the script starting
-->
from curl till this step you see before
-->
all these steps before wq you have to copy the script
-->
save it and then we say run it permissions and then run the script
-->
and then you observe the outputs yeah let's get started
-->
host name cpl this is a set of host name
-->
like master
-->
now how do we confirm that this is working
-->
so we can type in tic-tac-rash
-->
data master
-->
now the next step is we have to run those commands
-->
run these two commands you can also copy multiple commands at once copy
-->
both the commands at once copy it and run this
-->
you can copy both the commands at once
-->
so this is going to update and it's going to install the utilities which
-->
are required for you to download the kubernetes repo
-->
so
-->
say okay say this is okay
-->
let install this
-->
just press this is okay
-->
okay
-->
now just press enter press enter on a keyboard
-->
just press enter enter enter enter enter
-->
okay
-->
yeah we're good everyone okay now the next step is we have to write in the
-->
script yeah so vi any names are like
-->
contain any just a name and then a d dot sh so i'm writing
-->
a script to install the software easily
-->
the vi the name of script and the script name could be anything which
-->
you and press enter
-->
now press r
-->
that's from before copy from this comment
-->
before and copy till this one fs tab
-->
swap fs tab copy till there and just copy there just right click and it'll
-->
get pasted or you can paste will open to one
-->
okay click on paste and observe again from where you get
-->
started observe from
-->
you're starting from it here
-->
now you say paste
-->
so it does from
-->
before till
-->
the fs tab are we good
-->
okay so now what we do is escape colon wq escape colon wq
-->
now you want to run the script in linux you have to give permissions
-->
so we're giving permissions to run the script chmod
-->
700 and the finding this user tab chmod is for changing permissions
-->
700 is your permissions and the script name
-->
and press enter what happened you can also observe if you do ls-l
-->
and the file name it's the permissions the user has complete
-->
permissions read write and execute to run or do
-->
any operations from the container it requires permission now run the
-->
script dot forward slash and script name
-->
dot forward slash script name and press enter
-->
okay does it work
-->
i think good
-->
so it's going to configure you can observe in here it's going to
-->
download container d it's going to install cube
-->
blade you see it's not a cube blade
-->
so when that's packages through all these
-->
required we're going to do all these in your script
-->
click enter
-->
now confirm the versions of each one which we install so first one is
-->
container d so container d
-->
next one is cubeadm version
-->
so when installing 28
-->
you want to check cube blade hyphen hyphen version
-->
version
-->
and also cubectl space version
-->
right no no no it is cube blade hyphen hyphen version it will give you space
-->
let me check because all it must work fine let me just
-->
let me use nothing no no run the script
-->
one second run the script one second one second so do ls
-->
type remove the clear type in ls yes can you
-->
do a cat cat yeah just type in co and tab
-->
type in co co co c for char yeah tab press the tab button dot sh
-->
yeah yeah let's see the content go up use apparel go up i think good
-->
type in clear type clear okay type in ls hyphen l space hyphen l
-->
yeah enter enter all good can you do a dot dot forward slash
-->
yeah see yeah enter don't do anything let's leave it off
-->
don't stop what does it say is it done can see
-->
choose yes choose yes
-->
space hyphen version good cubeadm space version no hyphen hyphen
-->
no hyphen hyphen for this just cubeadm space version yeah enter
-->
good now cubelet hyphen hyphen version or cubectl version cubectl space
-->
version yeah cube cubelet space hyphen hyphen enter
-->
yeah now cube cubectl space version cubectl cubectl yeah be
-->
bectl c t l t yeah no no no again hyphen
-->
no hyphen okay you're good okay others you're good ck get the
-->
connection last one that's fine go over later okay what about chance what's
-->
happening okay good fine let's proceed now the next step is
-->
we have to do a very similar step on the worker nodes
-->
yeah so what you can do is uh you need to play around in here be careful so
-->
you can again click on the terminal window the terminal window
-->
does it open one more screen everyone
-->
yeah click click the terminal that is open one more screen is
-->
student user yes now login to the first
-->
session
-->
and type in the ip of the first one
-->
okay
-->
still here
-->
Now in the document now go down and now we have the steps what is supposed to do on the work of one.
-->
Same steps you're going to use work of one, the script and confirm. Very similar steps.
-->
So I think one step is not sure for some reason cut once again before you go to the next step is one step you see this cut for some reasons.
-->
This step is not sure how it is going to cut. Let me again update it.
-->
So this step the full step. So can you update this in your worker session after hostname copy this and a worker node session for some reason it's not here.
-->
So we can make it four next one is fine. Do app get update, install and then proceed.
-->
Do this on both the worker nodes. First one make it worker one, other one make it worker two.
-->
Do this on both the worker nodes.
-->
Do this on both the worker nodes.
-->
Run the script. You're not installing kubectl in this. You're not installing it here.
-->
So once it's done and confirm the versions of everything except the kubectl.
-->
Charge any questions. Run the script now.
-->
. . forward slash and that's fine.
-->
Yeah, just type in C O and tab. Yeah, and something even wrong.
-->
Let's see why is it happening.
-->
We're in some mistake. Yes, what did you do?
-->
Let's see.
-->
Let's see.
-->
Can type in hostname type in history, please type in history.
-->
Come down. Come down. What is that? Why did the demon reload those chips?
-->
1991. What is the purpose of this? Was it there in the document? Okay, no problem.
-->
Can type in hostname. Just type in hostname. Let's proceed.
-->
Confirm the versions, contain any all of them.
-->
Confirm the versions of all the software. All the steps.
-->
Are we good with worker one?
-->
Make it as worker two and proceed.
-->
Yes.
-->
Yes, the other mission. Make it as worker two.
-->
Change this except it's a worker one and worker two. That's it.
-->
Okay.
-->
Okay.
-->
Okay.
-->
Okay.
-->
Okay.
-->
Okay.
-->
I think we're good.
-->
Yes.
-->
Mission.
-->
Yes.
-->
Space in.
-->
On the master mission.
-->
On the master.
-->
One day on the master.
-->
Okay.
-->
Okay.
-->
Copy the token. The last two lines.
-->
The last two lines. Copy this to notepad.
-->
Copy that to notepad. Highlight it.
-->
Copy that to notepad.
-->
Copy that to notepad. Highlight it.
-->
Now the next step is you're supposed to run the next three commands.
-->
The documents go down.
-->
Command.
-->
Get a right click.
-->
Right.
-->
What do you do this?
-->
This is green like this.
-->
So use your.
-->
Mouse and your keyboard.
-->
And then highlight like this.
-->
And then right click and copy.
-->
Good. Good.
-->
You're not able to paste using a laptop of office.
-->
Okay.
-->
Why? What happens?
-->
Okay.
-->
Can you paste in the chat history?
-->
Let's check with.
-->
In notepad.
-->
Okay, fine.
-->
So let.
-->
Let's do something.
-->
We'll come back with it.
-->
I'll resolve this.
-->
Let it be like this.
-->
Let's proceed.
-->
Okay.
-->
One second on the desktop of where logged in.
-->
Do you have a notepad?
-->
One second.
-->
Are you trying to copy to your laptop?
-->
Are you trying to paste it on your desktop?
-->
Which one are you trying to do?
-->
Where are you trying to copy?
-->
To your laptop?
-->
Or are you trying to copy to the Ubuntu desktop?
-->
Which one are you trying to copy?
-->
Okay.
-->
If not, I think.
-->
So do we have a notepad or something in here?
-->
One second to just confirm.
-->
Okay.
-->
Can you right click in this box?
-->
This is create document.
-->
This is in this desktop.
-->
Right click click on.
-->
Okay.
-->
Welcome.
-->
I'll help you out later.
-->
Okay.
-->
Now the next step is.
-->
We have to run in those three next commands.
-->
So run in these three commands.
-->
Run these three commands on the master.
-->
Just copy and paste.
-->
Yeah.
-->
Yeah.
-->
Yes.
-->
Okay.
-->
Okay.
-->
Okay.
-->
Now type in kubectl hyphen hyphen version.
-->
Run the command.
-->
Type in kubectl no hyphen hyphen version.
-->
Now you see that the error is gone.
-->
Before you got an error message.
-->
It means it is properly configured now.
-->
Everyone, are we good till here?
-->
Yeah.
-->
Good step.
-->
No, no, no.
-->
One second.
-->
One second.
-->
And see.
-->
Don't copy this command.
-->
Charles, what are you trying to do?
-->
Why are you running these commands?
-->
Type in clear.
-->
I'll help you out.
-->
Type in clear.
-->
Please type clear.
-->
Don't even do anything.
-->
Do a control c.
-->
Now copy the three commands.
-->
The next three commands I gave you.
-->
Are you understanding which command I'm talking about?
-->
Let me give you a chat.
-->
The chat I'm going to paste you.
-->
Just copy those three commands.
-->
The chat I gave you.
-->
Just right click and paste.
-->
Click paste.
-->
Enter.
-->
Yes.
-->
So now what you do is type in kubectl kubectl space version.
-->
You're good.
-->
Fine.
-->
So now what we do is next command.
-->
Run the apply command.
-->
Run the apply command everyone.
-->
Does it say just add it?
-->
Gene.
-->
What's happening?
-->
That.
-->
Okay.
-->
Okay.
-->
Charles will do it.
-->
The coverage in the chat.
-->
Just right click and paste it.
-->
Enter.
-->
Yes.
-->
Okay.
-->
So now what we do is check if your master is ready.
-->
So go ahead and do.
-->
Kubectl get nodes on the master machine.
-->
Kubectl get nodes.
-->
Is it ready?
-->
Okay.
-->
Fine.
-->
So now what you do is you have the token now.
-->
Except Charles will help you out.
-->
Just copy the token from your notepad.
-->
Complete token.
-->
And run the token on your worker nodes.
-->
Copy the token which you had done before.
-->
And go to the worker machines.
-->
And paste it.
-->
And press enter.
-->
Do it on both the nodes.
-->
It will get added.
-->
Now go to the master.
-->
And again do get nodes.
-->
And you must be seeing all the nodes up and running.
-->
Have a good.
-->
Okay.
-->
Yes, Charles.
-->
Now let's be explained.
-->
Charles, are you?
-->
What are you going to do now?
-->
One second.
-->
What are you going to do now?
-->
So close this.
-->
So now what you do is you can run a command.
-->
Run this command now.
-->
Run this command.
-->
Running it command.
-->
Did you get a token?
-->
Yes.
-->
One second.
-->
Copy from this command.
-->
No, not from there.
-->
Start from start.
-->
Yes.
-->
From that.
-->
The experiment is completely complete.
-->
Starting not from this.
-->
Yes.
-->
K is missing.
-->
K.
-->
K.
-->
Yes.
-->
Right click.
-->
Copy.
-->
Now go to worker one.
-->
Worker one machine.
-->
Maximize.
-->
Do the same other machine.
-->
You did some mistake.
-->
I think you did some additional steps.
-->
What did you do before the work?
-->
Initial worker node.
-->
Something you have done some mistakes.
-->
Okay.
-->
Let me figure it out.
-->
So can you go to worker one machine?
-->
Maximize the worker one.
-->
Maximize.
-->
So can you do.
-->
Can you run the command again?
-->
Host name CTL hyphen once more.
-->
Host name.
-->
CTL.
-->
No.
-->
Host name.
-->
Host name.
-->
CTL.
-->
Space.
-->
Set hyphen host name.
-->
Set.
-->
Set.
-->
The CT.
-->
Just no hyphen.
-->
That.
-->
Host name CTL.
-->
One space.
-->
Set.
-->
Hyphen.
-->
After set.
-->
No space.
-->
After set.
-->
Hyphen.
-->
Host name.
-->
Space.
-->
Worker one.
-->
Enter.
-->
Yeah.
-->
Type in exec bash.
-->
Now use the app arrow and try to join the command again.
-->
Just use the app arrow and try to join the command again.
-->
This is the app arrow.
-->
Up.
-->
The arrow keys on your laptop.
-->
No, no, no.
-->
Okay.
-->
Come down.
-->
Run the previous command.
-->
Use the app.
-->
Press the app arrow now.
-->
Wear the prompt.
-->
Yes.
-->
Yes.
-->
Yes.
-->
Yes.
-->
Once again.
-->
No, no.
-->
Go to the same command please.
-->
One second.
-->
Press enter.
-->
Okay.
-->
Okay.
-->
Charles, you need to tell me what exactly happened initially.
-->
Something you have done.
-->
Some mistake you have done.
-->
Can you type in container D hyphen hyphen version?
-->
Container D is hyphen hyphen version.
-->
Okay.
-->
So can you do cubeadm once again?
-->
Cubeadm.
-->
Type in cubeadm.
-->
Cubeadm space reset space hyphen hyphen hyphen force.
-->
Hyphen hyphen force.
-->
Force.
-->
Force.
-->
Force.
-->
F-O-R-C-E.
-->
Force.
-->
Yeah.
-->
Enter.
-->
Okay.
-->
Now type in.
-->
Okay.
-->
Now run the script again.
-->
Dot forward slash container D.
-->
Please type in C1 tap.
-->
Tap.
-->
Press the tap.
-->
Use the tap.
-->
Yeah.
-->
Enter.
-->
You are getting a address error message.
-->
Charles, what did you do?
-->
Something you did before.
-->
Choose Y.
-->
Choose Y.
-->
Press Y.
-->
Type in Y.
-->
Type Y.
-->
Enter.
-->
Okay.
-->
Now run.
-->
Use the up arrow.
-->
Use the up arrow and try to join again.
-->
Please use.
-->
Run the join command again.
-->
Run the join command.
-->
Join command.
-->
Previous model when you use apparel.
-->
Press the apparel.
-->
Not here.
-->
Yes.
-->
Press the apparel.
-->
Key.
-->
Key.
-->
On your laptop.
-->
On a laptop.
-->
Press the up key.
-->
The up arrow key.
-->
Yes.
-->
Yes.
-->
Can you run it once more?
-->
Okay.
-->
I'm not sure what has happened.
-->
Something you've done.
-->
Okay.
-->
Can you now, I'll give you two more missions.
-->
Can you do on those two missions instead of these two worker nodes?
-->
Yeah.
-->
You can close this worker one, worker two.
-->
You can close these.
-->
I'll give you two more missions in which you won't do these steps slowly.
-->
Is it okay?
-->
Okay.
-->
So now the other two missions in which you want to play around.
-->
So check if you're able to log into this mission.
-->
And this mission.
-->
Log into 193.
-->
Not here.
-->
Come back to the student.
-->
Yeah.
-->
And the student.
-->
Sorry, Charles.
-->
Can you minimize the master?
-->
Minimize this.
-->
No, no.
-->
Don't close it.
-->
Minimize.
-->
I mean, you have a, okay.
-->
Maximize this.
-->
No, no, no, no.
-->
Maximize this now.
-->
Maximize.
-->
Maximize.
-->
Yes.
-->
Now.
-->
One second.
-->
No, no.
-->
Your right window.
-->
One second.
-->
Now type in CD.
-->
Yeah.
-->
Yeah.
-->
Enter.
-->
SSH hyphen I name key dot PEM P dot PEM PEM.
-->
Paste Ubuntu at IP 54 at 54 255 5454 dot 255 dot 235 dot 193.
-->
Press enter.
-->
Choose yes.
-->
Now do a sudo su hyphen.
-->
sudo su sudo after sudo no hyphen space su space hyphen.
-->
Enter.
-->
Type in hostname ctl hostname ctl space set hyphen hostname.
-->
No, no, no.
-->
No hyphen.
-->
Set.
-->
SET hyphen.
-->
After set, one hyphen.
-->
Yeah.
-->
Next.
-->
After hostname.
-->
No, no, no.
-->
This is the mistake you're doing, I think.
-->
Very careful.
-->
Control C.
-->
What's happening?
-->
I can't see.
-->
Type in clear, please.
-->
Type clear.
-->
Yeah.
-->
Set hostname ctl space set hyphen hostname space worker space worker one.
-->
No, I think once again.
-->
Right.
-->
So can you use apparel again?
-->
Use apparel.
-->
Press apparel on your laptop.
-->
Press make it three now.
-->
Sorry.
-->
Make it three.
-->
So one make it three.
-->
Enter.
-->
Yeah.
-->
Type in exact bash.
-->
Yeah.
-->
So now write the script now.
-->
Now follow the steps now properly.
-->
Then do it.
-->
Now do the next command document.
-->
Others, you have to wait for five minutes.
-->
Just finish off this troubleshooting.
-->
Yeah.
-->
Copy this.
-->
Enter.
-->
Press enter.
-->
Press enter.
-->
Yeah.
-->
Now vi.
-->
Do a control C.
-->
I can't see it.
-->
Do a clear.
-->
Type in clear.
-->
Container D dot S and change the script, which is there under the worker.
-->
No session.
-->
The complete script.
-->
Once again.
-->
Can you go down?
-->
Go up.
-->
Go up in this document.
-->
Go up.
-->
Still up.
-->
Once again.
-->
Once again.
-->
Go down in that last line.
-->
Last line.
-->
OK.
-->
Now click on paste.
-->
Escape colon WQ.
-->
Escape colon WQ.
-->
Again, do a cat on this file.
-->
Do a cat.
-->
Cat.
-->
C-A-T.
-->
The file name.
-->
Space.
-->
Container D dot S-H.
-->
Space.
-->
Just type it.
-->
Tap.
-->
With a tap.
-->
Enter.
-->
OK.
-->
Fine.
-->
C-H mod.
-->
Type in C-H mod.
-->
Seven hundred.
-->
C-H mod.
-->
Space.
-->
Seven hundred.
-->
The file name.
-->
Space.
-->
Just type in.
-->
Yeah.
-->
Enter.
-->
Dot forward slash.
-->
Container D.
-->
Enter.
-->
Now you see that you're not getting error message.
-->
Before you got error message of the hostname or something.
-->
Got error message last time.
-->
The problem.
-->
OK.
-->
Is it one before other, him or others?
-->
The voice is not clear?
-->
Fine.
-->
OK.
-->
Fine.
-->
I'm making off.
-->
Press enter.
-->
Press enter.
-->
Press enter.
-->
OK.
-->
So now go to the master.
-->
Go to the master mission.
-->
Maximize.
-->
Copy this token from the stack.
-->
No, no.
-->
Now go back.
-->
Paste this.
-->
Not here.
-->
Not here.
-->
On your worker.
-->
Worker three.
-->
Right click.
-->
Enter.
-->
It's working now.
-->
So do the same on the other VM also.
-->
Clear?
-->
The new one.
-->
OK.
-->
So be careful.
-->
I think.
-->
No, no.
-->
Not here now.
-->
By error again coming in here.
-->
Not a worker one.
-->
Go back to your terminal.
-->
Is it terminal?
-->
Is it yours?
-->
One second.
-->
Is it yours?
-->
Which terminal is this?
-->
OK.
-->
Now good.
-->
Yeah.
-->
Close this.
-->
Now again click on terminal.
-->
Not this one.
-->
The terminal dock.
-->
Yeah.
-->
Yeah.
-->
Yeah.
-->
Right.
-->
That's fine.
-->
Yeah.
-->
Now do it quickly.
-->
Let's see.
-->
Finish off.
-->
Let's just do this.
-->
Go to CD.
-->
Location.
-->
Same steps.
-->
You're supposed to use the next IP.
-->
The IP which I gave it to you was 227.
-->
Clear?
-->
Yeah.
-->
Yes.
-->
You can go like this.
-->
Choose yes.
-->
Yeah.
-->
Pseudosu hyphen.
-->
Pseudosu space hyphen.
-->
Enter.
-->
Hostname.
-->
Hostname.
-->
Hostname.
-->
Hostname.
-->
Hostname.
-->
Hostname.
-->
Set hyphen hostname.
-->
Set hyphen hostname.
-->
Set hyphen hostname.
-->
The end make it as worker four.
-->
Enter.
-->
Exec bash.
-->
Exec bash.
-->
Enter.
-->
Now run those two utilities.
-->
App get update and installing the certificate.
-->
Yeah.
-->
Enter.
-->
Enter.
-->
Enter.
-->
Enter.
-->
Yeah.
-->
Vi.
-->
Container d.sh.
-->
Container d.sh.
-->
You can give any names.
-->
Container d.
-->
Container d.sh.
-->
Enter.
-->
Page script.
-->
Insert mode i.
-->
Page script.
-->
Yeah.
-->
Come down.
-->
Come down.
-->
Come down.
-->
Come down.
-->
Yeah.
-->
Click paste.
-->
Yeah.
-->
Escape colon wq.
-->
Chmod 700.
-->
Descript.
-->
Now run those two utilities.
-->
Now once this is done, in the meanwhile, can you go and have the token copied?
-->
In the master, again have the token copied.
-->
Now maximize.
-->
Copy from the start.
-->
Whichever you want.
-->
Okay.
-->
Copy it.
-->
Yeah.
-->
Come back to that node.
-->
Press enter.
-->
Right click.
-->
And paste as enter.
-->
Now go back to the master.
-->
Type in kubectl get nodes.
-->
kubectl kubectl kubectl space get space nodes.
-->
Enter.
-->
All good.
-->
Yeah.
-->
So remember which machines you're supposed to use worker three and worker four.
-->
Clear?
-->
Not worker two.
-->
Clear?
-->
Okay.
-->
So I think you missed on that enter or something when asked the kernel.
-->
Remember the screen we got?
-->
Might be made some changes in there.
-->
And hence it's not able to, it has got corrupted the kernel or something.
-->
Yeah.
-->
So we'll not be using those two machines now.
-->
We'll be using these three machines.
-->
Clear?
-->
Okay.
-->
Thank you.
-->
Others, are we good to understand how you troubleshoot?
-->
So why am I telling to install it?
-->
Because when you want to install it, you know how to install it.
-->
And also to troubleshoot.
-->
But if you just get the software, sometimes you'll not understand what is happening in the backend.
-->
Are we good till here, everyone?
-->
Okay.
-->
So now observe what the next step.
-->
Okay.
-->
So now how do we?
-->
We can also use a nickname.
-->
So we use alias.
-->
So alias in Linux is to make the command easy.
-->
So we can say something like this.
-->
So instead of complete, I can just say K.
-->
So to use alias, give a name, short form and mention it.
-->
So that you're not typing everything because we make mistakes.
-->
Now one more command.
-->
Next command.
-->
I'm doing all the commands as per document.
-->
This is still here.
-->
It is done.
-->
This is all we have done.
-->
These are all we have done.
-->
So now let's run this command.
-->
So this is going to print all the parts across all the namespaces in a wide format.
-->
It means in a full information so that you can see all the information.
-->
Yes, do you see this everyone?
-->
So what exactly is it showing you?
-->
It is showing you the pod names.
-->
So again, it is showing you the pod names, the namespace.
-->
This is the pod name.
-->
How many containers?
-->
This has one container.
-->
One is running.
-->
This has two containers running.
-->
For some reasons, this is going crash to back off.
-->
I'm not sure.
-->
Is it working for you?
-->
Everything?
-->
Fine.
-->
The crash to back off.
-->
Is it?
-->
Okay.
-->
Okay.
-->
Let's see why is it happening.
-->
I'm not sure.
-->
Network wise.
-->
So getting errors for proxy.
-->
Let's see.
-->
Next one.
-->
You also see resets and the pod names.
-->
This is a pod IP.
-->
This is your name on the node.
-->
This is a pod IP.
-->
Let's do a small example.
-->
Let's do a small.
-->
Let's try to create a pod.
-->
So you can say run.
-->
Give a name for the pod.
-->
And give an image equal to index.
-->
The last command.
-->
Let's get this pod.
-->
Let's look into this later.
-->
Let's try to create a pod right now.
-->
Run.
-->
Example.
-->
The index.
-->
And now get pods.
-->
And it must create your pod.
-->
Let's see.
-->
Because getting some error.
-->
Is it working for you all?
-->
Oh no.
-->
Sorry.
-->
Mine is pending because I think.
-->
No, no, no.
-->
It must be.
-->
It is not OK.
-->
There is some problem.
-->
If it is crashed.
-->
It is some error.
-->
We're getting everyone.
-->
Let's see.
-->
Why is that?
-->
It's running for.
-->
Who is this last one?
-->
Charles.
-->
It runs for Charles.
-->
Perfect now.
-->
So what's happening?
-->
It seems to be dead.
-->
But runs for him.
-->
What's happening?
-->
OK.
-->
Let's.
-->
Not sure why it's happening.
-->
Seems to be followed.
-->
For others.
-->
Let's troubleshoot.
-->
Let's do a describe the pod.
-->
So let's do this.
-->
Let's.
-->
Apply the network once more.
-->
Apply the network once more.
-->
The nodes are ready.
-->
Apply the network once more.
-->
OK.
-->
And.
-->
See this.
-->
And.
-->
Let's do this.
-->
I'm going to do a.
-->
Reset.
-->
Again.
-->
Master.
-->
And.
-->
And then again do it.
-->
I'm doing a reset.
-->
Try to do.
-->
I'm trying to do a reset.
-->
That's a check.
-->
Then all the set the same.
-->
Not sure.
-->
Medium reset.
-->
Force.
-->
And follow the steps again.
-->
Copy the token.
-->
To a notepad.
-->
And run those three commands.
-->
All right.
-->
So now what you do is.
-->
Reset on the worker nodes also.
-->
And join the new token.
-->
OK.
-->
Let's do this.
-->
And.
-->
It's running, it's working, if you do properly again it's working, please check, yes, yes.
-->
Everything you're doing is resetting.
-->
Reset on the master, reset on your worker nodes and do everything from the reset step.
-->
Okay, let's see for this, I think we have to do a reset on all of them.
-->
Gene, hope you understood, do a reset, what are you trying to do now?
-->
Understand, so you're doing it now again, after you do a reset, again do a init and then apply it.
-->
Yeah, kube-adm space init, kube-adm space init and yeah, wait for all the steps, the same steps you're supposed to do all on your worker nodes also.
-->
Do a reset, if an FN force, do a reset, if an FN force on the master worker nodes also.
-->
Copy the token, copy the token, okay, CK, what are you trying to do?
-->
kube-adm reset, kube-adm reset hyphen hyphen force reset, space reset, space hyphen hyphen force, yeah, force force, FORCE, yeah, yeah.
-->
Good thing you're doing the nodes, press enter.
-->
After you do it, again do a init, again the same process, do a init.
-->
Yes, same on the worker node also, you're supposed to do a reset and get a new token and add the token.
-->
Charles, you're good right now.
-->
Now who's talking now to me?
-->
Charles, why are you doing this?
-->
We're all good.
-->
Why you did this?
-->
I told you all good, correct?
-->
I told you all good, all are running.
-->
Okay, type in kube-adm space init.
-->
I told not for you, for others, because you've seen all the parts running before.
-->
Yeah, kube-adm space space init, yes, enter.
-->
Same step you're supposed to do, do a reset now on the worker also.
-->
kube-adm reset hyphen hyphen force.
-->
After this is done, follow the steps, reset and all of them.
-->
Copy the token and run this token.
-->
kube-adm space reset hyphen hyphen force and all the missions.
-->
They're all in the chat.
-->
And then join again.
-->
Before, master, you first do this.
-->
On the master, you run the three commands.
-->
Junvi, mkdar, kubectl.
-->
After you do init, you also need to run those three commands of mkdar.
-->
All the three commands for kubectl.
-->
First, confirm the master is ready.
-->
Junvi, have we got it?
-->
You're supposed to run the three commands.
-->
The mkdar, kube-config and chown.
-->
The master, after you did a reset, you need to run those three commands.
-->
That mkdar, kubectl, sudo, scp, these three commands.
-->
So first, always check the master is ready.
-->
Then you want to join.
-->
First, ensure the master is ready.
-->
Yes, up to yes.
-->
Choose why, choose why.
-->
Why, why?
-->
Type in why, why, why?
-->
Just check it, I'm not sure.
-->
Okay, proceed now, next step.
-->
Again, paste it, enter.
-->
Choose why.
-->
Enter.
-->
So now, paste that apply command.
-->
Apply hyphen f network.
-->
The network which you added.
-->
Weave net, the last line, master.
-->
Okay, go back to documentation.
-->
You see apply command for network adding.
-->
Here, let me give the command a chat.
-->
I am giving the command a chat.
-->
Yes, I paste the chat.
-->
Run this command.
-->
Yes, first check if master must be ready.
-->
Do a get nodes.
-->
kubectl get nodes.
-->
kubectl get nodes.
-->
First, ensure the master is ready.
-->
And then add the token.
-->
Yes, now go and add the token on the worker nodes.
-->
Repeat again, ensure the master is ready.
-->
Run in the kubectl commands.
-->
Apply commands.
-->
And then go ahead and run in the token on the worker node.
-->
Okay, miss the token.
-->
You can also run a new token.
-->
Yes.
-->
Now go to master.
-->
kubectl get nodes.
-->
kubectl get nodes.
-->
Yeah, this is there.
-->
Anyway, just do a kubectl get nodes once.
-->
Get nodes.
-->
Yes, you're good now.
-->
Now dedicate a pod.
-->
Dedicate a pod.
-->
kubectl k run k run run space example space hyphen hyphen image equal to index index.
-->
And it will get created.
-->
Okay, are you good now?
-->
No, no, no.
-->
Spelling is wrong.
-->
It is syntax is wrong.
-->
After example is paste and after image equals it is equals not colon.
-->
Enter.
-->
Now go get pods.
-->
kubectl get pods.
-->
Pod pods pods.
-->
Remove that.
-->
Just kubectl get pods.
-->
kubectl get pods hyphen space hyphen O and Y.
-->
Which O O.
-->
I forget O space Y.
-->
No hyphen again.
-->
Before.
-->
Yes.
-->
Enter.
-->
It is running.
-->
Everyone is running now.
-->
KCK all are good now.
-->
So Charles I clearly told you why you're doing all this.
-->
Everything is good.
-->
Perfectly took before.
-->
Yeah.
-->
Can you copy token to notepad or what you can do like this?
-->
Once again, Charles.
-->
So can you go to the master to master?
-->
Why are you trying to join again on the master?
-->
Please understand.
-->
This over.
-->
You must.
-->
No, no, no.
-->
Go control C.
-->
Go control C.
-->
Please do control C.
-->
kubectl get nodes.
-->
kubectl get nodes.
-->
Space get space nodes.
-->
Space.
-->
Have to get.
-->
Nodes.
-->
Yes.
-->
Nodes.
-->
Get nodes.
-->
D.
-->
D.
-->
D E S.
-->
Enter.
-->
OK.
-->
OK, Charles.
-->
I'm not sure.
-->
I told you not to do these.
-->
I clearly told you why I repeat the same steps.
-->
Fine.
-->
So what did you do before?
-->
Do history.
-->
You are perfect.
-->
It's working fine.
-->
The reason I told you do not do the steps.
-->
OK.
-->
Do it clear.
-->
So control C.
-->
Why did you run the token on the master?
-->
Why did you run the token on the master?
-->
Why did you run it?
-->
You got the token.
-->
Why are you running again?
-->
Join command on the master.
-->
Are you getting it?
-->
What's the mistake you did?
-->
You're not supposed to run the joint command on the master.
-->
OK.
-->
So can you do apply that network?
-->
Yeah, the network command.
-->
Hyphen F. Enter.
-->
Yeah.
-->
Charles, you need to repeat the steps again because of something you've done on the master.
-->
So you have to be careful.
-->
So can you?
-->
What to do now?
-->
OK.
-->
Let's do the last step.
-->
Cubarium in it.
-->
Cubarium.
-->
Space.
-->
In it.
-->
Again.
-->
Enter.
-->
Cubarium.
-->
Reset.
-->
Hyphen F. Enforced.
-->
Cubarium.
-->
Reset.
-->
Hyphen F. Enforced.
-->
Enter.
-->
Did I understand what the mistake you did on this machine?
-->
Charles, I forget the token.
-->
Don't run the token on the master.
-->
So now do a cubarium space in it.
-->
Same thing.
-->
Suppose do a reset on all the machines and do properly.
-->
Is it OK?
-->
Yeah.
-->
Please go to your end.
-->
I think others are good till here.
-->
The master is ready now.
-->
Are you able to create pod?
-->
Please confirm.
-->
Gene is good.
-->
Yeah.
-->
Which one?
-->
Who is this speaking?
-->
Yes.
-->
Run the example.
-->
I understand.
-->
I understand.
-->
I understand.
-->
Get pods.
-->
Run example.
-->
Type in clear.
-->
Type clear.
-->
Type in again.
-->
Cubes will get pods.
-->
Type in worldwide.
-->
Run the same command.
-->
Yeah.
-->
Yes.
-->
Yes.
-->
Now do a cubesetl describe.
-->
Cubesetl describe.
-->
Type in cubesetl.
-->
Please type.
-->
Yes.
-->
Cubesetl.
-->
Same command.
-->
Yes.
-->
Cubesetl.
-->
C-R-I-B-E space.
-->
Pod space.
-->
Example.
-->
Spelling is wrong.
-->
Can you do Control C?
-->
Type in clear.
-->
Can you show the command what you've run?
-->
Use the apparel.
-->
Apparel again.
-->
Apparel.
-->
Show me the command where do you run to create a pod?
-->
Please use the apparel.
-->
One second.
-->
Okay, let's create new one more part. Okay, let's see if it's very simple.
-->
Let's add a new command now. Clear the screen.
-->
Type in clear.
-->
Or do a CTRL C. Do a CTRL C otherwise.
-->
See what you can do is you can use like this.
-->
Use the alias.
-->
ALIAS.
-->
Remove this.
-->
Backspace completely.
-->
Type in ALIAS.
-->
ALIAS space K equals.
-->
No space.
-->
CTRL.
-->
CTRL.
-->
Enter.
-->
Now it's the new one. Let's try a new one.
-->
K.
-->
Give a name as test this time.
-->
Give a different name for the part.
-->
Test or something.
-->
hyphen hyphen image.
-->
hyphen hyphen image equals.
-->
NGINX.
-->
INX.
-->
NGINX.
-->
After G it is I.
-->
X. Enter.
-->
Enter.
-->
Now do a get pods.
-->
Get pods.
-->
Get pods.
-->
K.
-->
Get pods.
-->
Hyphen.
-->
This is running.
-->
So the biggest of the messages.
-->
Okay fine.
-->
Okay Charles I would request you to do the break properly.
-->
The steps.
-->
It must be running in.
-->
We got it typed twice to properly clear.
-->
Okay let's see the step.
-->
What is happening to.
-->
What I need to do now.
-->
No.
-->
It will not work because your master.
-->
It is corrupted.
-->
Do a reset again. Please do a reset again.
-->
On all the nodes.
-->
On the master.
-->
Working is fine.
-->
Do a reset on the master.
-->
Cube ADM reset.
-->
Hyphen force. Do the sets properly.
-->
Get a new token.
-->
And then do it. I'll help you out.
-->
Charles I'll help you out in the break now.
-->
So you won't be hold. Others going to take a break now.
-->
Short break. Yeah.
-->
So we'll take it.
-->
Because he's still doing the lab.
-->
So let's say 15 minutes.
-->
We'll come and explain other things.
-->
Okay.
-->
So now once again.
-->
Do a cube ADM.
-->
Reset it. What did you do now?
-->
Okay press enter.
-->
Press enter.
-->
Enter.
-->
Now please do the steps.
-->
And listen and tell you.
-->
I'll tell you what command to run next once it is done.
-->
Okay. Now in the chat.
-->
Don't do anything else.
-->
In the chat I've pasted three commands.
-->
Run the three commands.
-->
On the master. Choose yes.
-->
Choose why.
-->
Why why why.
-->
Enter. Wait now.
-->
Now paste this command.
-->
One second. Did you apply it?
-->
Yeah.
-->
So now paste the next command.
-->
Now copy.
-->
Maximize this window.
-->
Copy the token.
-->
Go to your
-->
worker one. Worker three.
-->
Worker three. We didn't copy it completely.
-->
Right click.
-->
And paste.
-->
Press enter. Okay. Type in cube ADM.
-->
You didn't notice it before.
-->
Cube ADM space.
-->
Reset hyphen hyphen force.
-->
Space hyphen
-->
F and force.
-->
Yeah.
-->
Enter.
-->
Don't do anything now.
-->
Okay. Now paste the token again.
-->
Right click.
-->
Paste.
-->
Enter.
-->
Okay. Now wait.
-->
Now go to the master.
-->
So you can make it simple. Type in alias.
-->
ALIAS.
-->
K equal to
-->
cube CTL.
-->
K. Alphabet K.
-->
just type in alphabet k k equals small small k equal to cube ctl k u be k u be ctl enter
-->
yes now get nodes just type in k space get space nodes k k get nodes k one space and get node
-->
enter okay now go to the worker three four do a queue okay i think done the token copy the token
-->
and paste it just right click i think i'll copy this right click in your work of four
-->
paste it enter okay do a reset cube adm reset hyphen as enforced enter filling is wrong
-->
enter right click and paste the token enter now go to the master run the same command
-->
you ran before yes enter right now we'll do one more command k k run k space run
-->
space test hyphen hyphen image equal to no no image it is not images equal to
-->
n g i n x n g i n x i n x enter enter now k get parts k get part hyphen o
-->
space hyphen o space white w i d enter all good okay okay we'll take a break now and come back
-->
welcome back this so now let's go back to the document and we're not we skipped
-->
10 steps in the documents open a notepad and the lab one let's run this command
-->
because everyone to make a short form of alias once again not able to make it small
-->
who says i'm scanning the screen i get confused okay okay
-->
so many screens i'm seeing from the morning okay okay sorry for that yeah so
-->
now i'm not using alias because everyone's easier for you so choose alias k equal to
-->
ctl first yeah so now you say choose ctl api hyphen resources so when you do this
-->
to give you all the objects information
-->
yeah give you all the object information
-->
so you see components endpoints evens parts all these are the objects
-->
and which api version is using you see in the next column which api versions
-->
the short form this is part of this whenever you want to know which api version what are
-->
object the nicknames we use the k cubes ctl api hyphen resources now you might want to
-->
understand more about any object so what you can do is you can use cubes ctl explain and
-->
like parts and that will let you know what exactly this object what is it
-->
what the api version what fields are supposed to use is a piece now if i open the part for
-->
example let's show a lab and now i open the lab for the part and now you see a
-->
syntax of it a syntax says api version kind metadata so now when you see the
-->
the explain output you can easily start writing in the pod yaml file it says api version so it's
-->
your field it requires api version so api version is b1 kind is pod the fields you see
-->
api version kind metadata new so metadata means name of the part and the specifications
-->
so whenever you want to understand what exactly the object and the syntax of it
-->
cubes ctl explain the object name are we good everyone
-->
yeah yeah so this is how we get started so in brief about this lab we learned about how to
-->
install let me summarize this lab we first created three machines we already have three
-->
in our use case we set the host names we installed utilities initially and then
-->
install the main components and be able to all good okay now what are namespaces the next topic
-->
what do you think in namespace what could be a namespace anyone
-->
must write this is a diagram you tell me what would be namespace sorry are you talking i can't hear
-->
okay nobody's talking fine so what is namespace right now we have a cluster
-->
now this cluster resources has to be used by two teams so we want the resources to be
-->
separated so within the cluster this could be project a and this could be for project b and
-->
if users a b c they are working in your office they're working on the project they get access
-->
to this namespace like namespace one there are developers or users working on this project
-->
they get access to this namespace like ns2 so each one cannot see what is happening in the
-->
other project this logical separation of the resources within the cluster is called the namespace
-->
and inside this administrators can define what you all can do how many parts you can create
-->
what you can do to what level you can do this one namespace so we use namespace for logical
-->
segregation and you can also define what the users can do inside the namespace
-->
are we good when you install kubernetes it creates three namespaces now could you tell me
-->
the parts got created in which namespace anyone in which namespace the part which
-->
you created the example in which namespace got created let's see namespace let's see this
-->
so why use namespaces they use cases now let's go and see
-->
how do you work with namespaces or resources we have two methods either so i will first get
-->
the namespaces or i can use the nickname namespaces
-->
so these are default namespaces already created
-->
so now can i do a describe so if you want any specific namespace i say get
-->
ns start form or i can also say default the namespace name i want to see what exactly namespace
-->
and use get if you want to get more information i can use work describe describe namespace
-->
and the default so when you get of the object type will give all the all the objects under
-->
that object type if you want to get any then you mention the name of it you want to describe
-->
you say describe the object type with namespace and the name of the namespace
-->
these are the graphs now can we create so now when i do get parts you see that it doesn't have
-->
you're not sure you won't know which namespace it is so when you don't mention any specific
-->
namespace it will get created in your default namespace now for example one different
-->
namespace i can say get namespaces namespace equals cube hyphen system this will show all the
-->
parts in this namespace very good if you don't make any space it'll always go to your default
-->
namespace if you want a specific namespace you have to explicitly call the namespace
-->
are we clear for some reasons one of the parts are going down that cash flow pack
-->
how do you create a namespace now so i can create namespace by create
-->
namespace short form and ns and i can give like a test you got created how do you check it
-->
i can do a get ns you see it is created you see the information about it i can show or describe
-->
ns or namespace the name of it
-->
i'll give time for your lab this one method other method is i cannot use yaml file i can
-->
say vi the yaml name file name insert mode the first line is api version colon one space v1
-->
next kind colon the typist namespace enter now what is the name of it that will get imagined
-->
metadata metadata enter and give two spaces you have to write yaml like this v5 version
-->
colon one space v1 kind one space metadata so i want this file so i save this file
-->
and i can either use apply or create so i say apply which in which file name hyphen f
-->
and the file name i will go and check will got created i do get ns and you see this created
-->
this is how you work with your kubernetes yaml files either you can use the imperative method
-->
command line or you can also use a yaml method so now for example i do not have a yaml file
-->
i want to see what is exactly happening inside a pod for example and say get ns or namespace
-->
and i can also say example hyphen o and the yaml format so i can see what is happening
-->
anytime when you object in the yaml format so now i can see the configurations
-->
and if you want you can also copy this to different yaml file for example i want to
-->
rewrite something like this i can copy different yaml file you'll get copy the contents
-->
and then i can open the three dot yaml file for example and i can modify the contents
-->
like this we can play around are we good
-->
okay now i want you to do a lab so go to labs under ns and pods lab one
-->
play around the first part yourself till do to resource quota try to create play around till
-->
here but replace the name with the name what you want to give please play around with this
-->
module two labs lab one like you but exchanges and pods please start
-->
yes are we good okay okay gene you're good next step i have not talked about the quota
-->
gene sorry gene can you hear me gene can you hear me we still not talked about quota
-->
i'm still not talked about i told you this dude on the namespace first part
-->
yeah just hold on here no problem others just create the namespace okay we're good chance
-->
we're good chance do not do these resource quota just do the first part that's what i
-->
told you not talked about this okay now let me explain so team can you do a hyphen o y
-->
is it happening wanting for worker one let's see for which one node run this command
-->
and tell me on which node are you having the problem get pods namespace system
-->
what me on which node you see this is worker one or on which node you see a crash loop back
-->
okay one others that is running actually is running for you right now
-->
okay okay let's see let's figure it out i think we are to again
-->
i'm not sure why is it having one new worker one sometimes it's very strange
-->
okay so what about you ck but you also is working on worker one
-->
okay fine let's see uh next let's proceed uh so what is this was put us
-->
now let's consider that we have two teams so let me explain this now let's consider that
-->
now we have two projects was it a i'm working on project b and they are using namespace
-->
be namespace one and namespace two now total cluster resources were 100 b c p o
-->
it had 100 gb now if this team or the project one consumes all of them
-->
then nothing would be there for the project two understanding are we good if project
-->
one consume everything in here then project two cannot do anything because they need some
-->
resources so this is where we can get a certain quota that for this namespace
-->
maximum is 50 v cpo 50 gb ram and again 50 gb these things so we can define some resources
-->
like cpo put a memory disk storage we can restrict it by using a quota that is one quota
-->
second one is you can also restrict the numbers that in this namespace the team
-->
cannot create more than 10 parts in this namespace cannot create more than 10 parts
-->
so we can define resource quotas both on resources as well as the number of objects
-->
what could be created in that namespace so very special namespace so namespace
-->
resource quota is all about managing resources example this is my use case there are two
-->
teams so now i want to allocate like this so i define a resource quota that you cannot go
-->
beyond this because there's a requirement for both of the work so you have to be careful
-->
when you work for production because in live environment it could be more users keep on
-->
coming in so be very careful in different resource quotas on your live but for testing
-->
you can play around but for live we are very very careful because of the resource quotas they
-->
cannot create some resources so for production you might want to say complete or you might want
-->
to be careful yeah so let's do this lab the second part explain and i want to do yourself
-->
okay now i'm getting a namespace and in this namespace i want to restrict the resources
-->
so what i do i would create a resource quota then resources and then apply it while applying it
-->
i'll mention the namespace so this resource quota applies on this namespace now going further
-->
i will go ahead and get the resource quota and observe it now i create a part first time
-->
is within the limits so what does request means request means what you assigning it
-->
and limits means to what level it can go later it'll work now i'll go and again check
-->
now what i do i'll again create one more part right now it is has six and is used
-->
i have only 400 so now i'm asking for memory 700 but we have only 400 so you see this
-->
i'm asking for more it will not get created you get an error message are getting it everyone
-->
let me let us see a documentation so let me i just want to example first so that
-->
it will be easier for you to understand and then to go reverse i go to resource quotas
-->
and type it so resource quotas defined by a resource quota object provides constraints
-->
so you can define it for limits or request request in Asia and limit system maximum where it can go
-->
we can do it for storage we can define it for objects numbers that don't create more than
-->
three parts four parts like this we can define and we can define for all these config maps
-->
we can define for parts we can define for resource quotas services for all these things
-->
so very brief these are important one that you remember we normally define resource quotas
-->
for number of parts we define resource quest resource for cpu memory all these are important
-->
ones yeah understood the use of resource quota now standard it is across the cluster
-->
namespace cluster yes so example if you observe this output what we ran
-->
in here you see that the namespace of this your cube system it is across master and all
-->
the nodes getting it so namespace is part it is not this you and note it is for the
-->
do the remaining one do till here completed let me know if any questions
-->
in the middle i'm checking for the lab the backend issue to complete this let
-->
me check what is happening in the back end
-->
so
-->
because for example uh they're able to create a cluster but on one of the two
-->
vnet sometimes goes to crash to back off more reports of the running is there any any
-->
firewall or something sometimes
-->
i mean
-->
is the storage anything anything less than eight something
-->
okay
-->
i'm back
-->
okay
-->
so i'm checking what could be done for you're questioning and asking and help you
-->
so
-->
excuse me everyone so on your work of one remember this is the work of one which we
-->
use for your docker lab correct everyone so we do a ls you see additional files are
-->
there word project one and snap are getting it so do a ls and you see some files so
-->
are there
-->
you see some files so let's remove some folders so i can say rm hyphen word
-->
you can also see rm hyphen rf snap and also remove this project one
-->
because the space can be the same mission we can still extend but i just want to ensure
-->
that before it does remove the folders rm minus rf and the names of the folders are
-->
good project one snap and word you can remove it and then check on the master does it improve
-->
you
-->
are you done
-->
so
-->
remove the additional folders that's fine that's fine will it look little that's fine just
-->
remove the real folders word snap one and project one okay so namespace lab that
-->
quota lab is done okay ck you want to remove the folder rm one okay good did you get it
-->
so now let's do together one more lab in namespace quotas together now so now next lab the link is
-->
there on lab one this is done done go down let's do this lab together you tell me what
-->
happening this lab i want you to answer this please what is happening in this lab access
-->
the link and please let me know what what exactly is happening in this lab
-->
anyway yes that's it so in this we're trying to do deployment not talked about it we'll do
-->
this later so what we'll now do is we'll just apply this and try to manually create a part
-->
in the same namespace do a manual method okay so go ahead and do this one don't the
-->
manual method does still not learn the other method so for example i create a namespace so
-->
for example has home in needspaces so i want to apply contest namespace so i'll say
-->
resource quota dot yaml and i paste the yaml file
-->
and now
-->
while applying it be careful you have to apply the specific resource quota the namespace
-->
and space equals to test any any namespace which are you get resource quotas and you can
-->
see 202 so i can say part one
-->
create one more part
-->
the same namespace
-->
and create a third part it must give you an error message
-->
have a good
-->
that's a small example in the dog that link they give you a deployment not
-->
deployment in which i can create multiple copies in a manual one so you can use any namespace
-->
try to create do not get third one because mention the numbers that not more than two
-->
have a good so this is how we can restrict the resources as well as the numbers on a
-->
specific namespace good now i'll wait for you
-->
you
-->
yeah you're good then you're one second your namespace is test it is equals to
-->
test part one and hyphen as an image namespace equals to test and then use
-->
up that again in the same command make it to two again try third one good it is equal equals
-->
no colon not there under before engine x yeah that's equal they still have an end
-->
or namespace namespace yeah okay i'm gonna play the quota you're doing small mistake
-->
uh do control c do apparel use apparel type in apparel apparel once more once more you see a
-->
is there before the quota
-->
yes now done it again once again let's do a different name okay that's fine yeah now
-->
do get parts do get part before the next step do it get for enter so use a different name
-->
properly so test part one three start from four now because made a mistake we did not get
-->
four five six first do a four check for the property gets created first do get parts
-->
i can see it do you see the output is running i can see seeking type it clear please
-->
type in clear get parts enter what happened no no no no you're supposed to mention the
-->
namespace
-->
um the mistake from that time okay sorry uh get parts no no no get parts yes this is
-->
upper again refresh so getting greater the same command we ran before just run the same
-->
command and see you just got created the four no no no okay fine do fine do fine yeah
-->
yes yeah yes yes the mistake are we good okay fine this is about your namespaces any questions
-->
everyone now let's go and delete this because only parts let's delete the parts which is in
-->
so say delete parts and mention
-->
hyphen hyphen namespace equal to cube hyphen system
-->
okay so you can say delete parts hyphen hyphen all
-->
run this command let me give the command a chance
-->
to use all and you also also use the namespace
-->
because
-->
and now when you see all namespaces hyphen o wide and your webnet must be good now let's wait
-->
just trying to refresh okay
-->
and also delete the parts in your default namespace
-->
run both these commands
-->
and then check in this command so that we are good now whether
-->
you see it is running now
-->
whenever you do something delete it because space sometimes any index in the storage
-->
are good now is everything running now
-->
do
-->
you see the error
-->
it gone okay
-->
yeah these two you can skip but others you can find okay let's proceed
-->
that's fine the last one is crashed that's fine we're talking about the main command
-->
getting it the main was important the main master everything is running others that's
-->
fine because you're terminating is fine the main ones are running fine okay so because of
-->
the storage issue the next topic is parts let me now talk about the parts what are parts
-->
the parts are inside the namespace the parts are inside this is your namespace
-->
and inside this is your part and into the part i have two contain example
-->
it looks something like this a part can have one container or multiple containers
-->
the example of a node in which you see that it has multiple parts
-->
for a single container or multiple container let me let me maximize this so when you see
-->
this diagram this is your node for example the node has one container or multiple parts
-->
you can have these are node loads yeah this is your node like a worker node and your one
-->
how many parts we have in this how many parts we have in this diagram four parts
-->
and this part has one container there's a two containers and storage still normally you can
-->
use the outside and these are three parts two country containers so they all use the same
-->
ip this could be on port 80 this could be on port 8080 this could be on port 8000
-->
so all the containers in the part they use the same ip but exports on different port numbers
-->
so we are different types of part we can have two containers in here could you tell me why
-->
are you are using two containers why not one why i talked about two containers why not one
-->
the use case by talking to containers in here so this is an example of a website this hosted
-->
so if a node the storage is the volume is on the node i have two containers which is file
-->
pull on the web server what is this using this for a website this facing the customer
-->
website and this is what is it gets into images from internet and downloads the images
-->
from internet and save this in the shared volume the same volume is shared across the
-->
other container it picks up the images what has been done and it will show in the website
-->
getting it everyone so any part remember that there will be one main application
-->
other one would be helping the main application because if this thing has need to do both the
-->
might be slow performance issues so we use multiple containers in a part where
-->
we have one would be a main other would be helping the other containers
-->
and they can have in the common data to be shared using a volume this is how the port
-->
works it's not a mandate that you have two port two containers one two three it's up to
-->
but we do not want to mix multiple applications one for example in this example i have a shared
-->
volume with my one other one is used for log saving the logs you can have something like
-->
this in which i have the main application there's a proxy so whenever it has to go
-->
to outside world it goes through a proxy and i'm not installing proxy agent inside
-->
a separate container we could also have in some like this so i'm having monitoring agent
-->
inside this this is going to get in all the information and push it or
-->
with a log to some monitoring tools so we separate containers for making the work much
-->
which is our main one yeah so question for you so can i have in a pod both a web and database
-->
is a good use case in a pod is a good practice to have both web application
-->
and database in the same port what do you think anyone tomorrow for example you want
-->
to give access to someone you give access to a part correct for example your developer
-->
friend and developer you give access to a part now the he's also getting access database
-->
getting it understanding this yes no so you cannot give access database for a friend and
-->
developer are getting it because his work is only for writing the code the front and on the
-->
back so always do not mix multiple things so make it very simple we have one main application
-->
then the other containers and they get in the ips using the cni now let's do this no good okay
-->
fine now let's do the lab 2 i'll explain this so lab 2 we can create a pod simple example one
-->
port name you can use nginx or you can also use or you can use htpd so you can if you
-->
find it difficult that you can also use one more image which is htpd any image you can use
-->
htpd so i'm trying to create a pod and then seeing the yaml file of it sometimes you
-->
might want to find the pod id use the syntax you replace the port name the port name what
-->
you created let's play around this let's play around with this command
-->
okay different part and get the pod id
-->
okay
-->
And you can also give a different image name.
-->
And get the pods with an O and Y.
-->
It's running.
-->
Pod and the pod name.
-->
Type in O and YAML.
-->
And see the config, whatever you want to see in the YAML, you can observe it.
-->
And also find the pod ID, play around.
-->
That's fine. Charles, what you do is you do a get pod, the pod name hyphen O YAML.
-->
Hyphen O hyphen small o hyphen hyphen O space YAML via YAML.
-->
Enter.
-->
So now you can see the config in the YAML format.
-->
So when you want to know what exactly is in here, you can go ahead and see the details of the pod.
-->
What are the fields? What does the detail have?
-->
Okay, try to get the pod ID.
-->
Get the pod ID, modify the name of the pod name in the next one.
-->
Copy this. In this command, replace your pod name with the pod that you created.
-->
And copy it and run that command.
-->
Replace the pod name with your name, name of the pod.
-->
So this is your pod ID.
-->
Sometimes when you do some operations, you might require a pod ID.
-->
This is how we get in the information using a JSON path.
-->
Any questions team of namespaces, resource quotas, and the pods? What are they till now?
-->
Any questions? Okay.
-->
So is it 12.30? This is your lunch time. Correct?
-->
It will be 45 minutes or you need one hour break? What are you asking?
-->
How much time we require? One hour or 45 minutes?
-->
One hour.
-->
Okay, so you have to cook and eat.
-->
Okay, no problem. Others? One hour is okay? Everyone? More than happy.
-->
Yes, others? Any questions team?
-->
So are we doing good? Are you understanding the concepts?
-->
Are you comfortable now with using the commands and not getting the hang of how do you run the commands?
-->
Are we good? Okay.
-->
Alright, so we'll be back by your time 1.30.
-->
Break till 1.30 p.m.
-->
You can also come early and practice also.
-->
Your wish, yeah?
-->
Break till 1.30 p.m.
-->
Remember me to start the recording.
-->
Sometimes forget to start the recording.
-->
Once you come back, in case you forget it, please remind me.
-->
I'm right now pausing the recording.
-->
Thank you.
-->
Thank you.
-->
Thank you.
-->
Thank you.
-->
Thank you.
-->
Thank you.
-->
Thank you.
-->
Thank you.
-->
Thank you.
-->
Thank you.
-->
Thank you.
-->
Thank you.
-->
Thank you.
-->
Thank you.
-->
Thank you.
-->
Thank you.
-->
Thank you.