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
-->
So, let us continue, so now what we do is, we are going to do is, we are going to do
-->
The first step is sudo su-height su-space su-space-height
-->
Now let me talk about the steps
-->
This is module 2 labs
-->
Everyone please open this
-->
Go to module 2 labs
-->
Under that it says
-->
The first one
-->
We will talk about lab 1
-->
Open this
-->
Now I will explain
-->
I made a very simple team
-->
Just follow the steps
-->
Right now we only have 3 machines
-->
Tomorrow if you want to do it yourself
-->
You have to create 3 VMs
-->
Like Ubuntu I mentioned the steps
-->
Right now we are locked in already
-->
So in case you log in yourself
-->
Putty will be using this
-->
Now we are going to set the hostnames
-->
We are going to install this
-->
And we have a script
-->
The script is going to install
-->
Configure, kubelet, others
-->
Go ahead and see the fifth step
-->
All the self-container which we saw
-->
The plugins
-->
The kubelet
-->
Kubeadm
-->
All these are part of the script
-->
You write in the script
-->
And then we run 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
-->
Let's first do the step
-->
Let's go step by step
-->
Open the document
-->
Start from the third step
-->
3, 4, 5
-->
Fifth one
-->
File name
-->
All these must be inside the script
-->
Starting from curl
-->
Till this step
-->
You see before
-->
All these steps
-->
Before wql
-->
We have to copy the script, save it
-->
And then we say run it
-->
Permissions
-->
And then run the script
-->
And then we observe the outputs
-->
Let's get started
-->
Hostname
-->
Cpl
-->
This is the hostname
-->
Like master
-->
Now how do we confirm
-->
That this is working
-->
We can type in exec
-->
Brash
-->
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 multiple commands at once
-->
Copy both the commands at once
-->
This is going to update
-->
And it's going to install the utilities
-->
Which are required for you to download
-->
The Kubernetes repo
-->
Say ok
-->
Say this ok
-->
And install this
-->
Just press enter
-->
Now just press enter
-->
Press enter
-->
Just press enter
-->
Is it good everyone
-->
Ok
-->
Now the next step is
-->
We have to write in the script
-->
So
-->
Vi
-->
Any name
-->
So I'm writing a script
-->
To install the software easily
-->
Vi
-->
The script name could be anything
-->
Which is up to you
-->
And press enter
-->
Now press I
-->
Start from before
-->
Copy from
-->
This command
-->
Before
-->
And copy till
-->
This one
-->
Fs tab
-->
Swap Fs tab
-->
Just copy there
-->
Right click and get pasted
-->
Ok click on paste
-->
And observe again
-->
Where you get started
-->
Observe from
-->
Starting from here
-->
I will say paste
-->
So it does
-->
From
-->
Before
-->
Till
-->
The Fs tab
-->
Are we good
-->
Ok
-->
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 are giving permissions
-->
To run the script
-->
Chmod 700
-->
And the file name
-->
Just use the tab
-->
Chmod is for changing permissions
-->
700 is your permissions
-->
And the script name
-->
And press enter
-->
You can also observe
-->
If you do ls-l
-->
And the file name
-->
You can see the permissions
-->
The user has complete permissions
-->
Read, write and execute
-->
To run or do any operations
-->
From the container
-->
Now run the script
-->
. forward slash
-->
And script name
-->
. forward slash
-->
And press enter
-->
Does it work
-->
I think good
-->
So it is going to configure
-->
You can observe in here
-->
It is going to download container
-->
It is going to install kubelet
-->
You see it is going to kubelet
-->
Kubernetes packages
-->
All these required
-->
We are going to do all these
-->
In the script itself
-->
Click enter
-->
Now confirm the versions
-->
Of each one which we installed
-->
So first one is containerd
-->
So containerd
-->
Hyphen, hyphen version
-->
Next one is
-->
QADM
-->
Version
-->
So we are installing
-->
128
-->
And also check
-->
kubelet
-->
Hyphen, hyphen version
-->
And also kubectl
-->
Space version
-->
Right
-->
No, no, no, it is kubelet
-->
Hyphen, hyphen version
-->
Let me check
-->
It must work fine
-->
Run the script
-->
One second
-->
One second, one second
-->
So do ls
-->
Remove the clear
-->
Type in ls
-->
Can you do a cat
-->
cat
-->
Just type in co
-->
And tab
-->
Type in co
-->
C for char
-->
Tab, press the tab button
-->
.sh
-->
Let's see the content
-->
Go up
-->
Use apparel, go up
-->
I think good, type in clear
-->
Type clear
-->
Type in ls
-->
hyphen l
-->
Enter
-->
All good, can you do a dot
-->
dot forward slash
-->
Enter
-->
Don't do anything, let's leave it off
-->
Don't stop
-->
Press a
-->
Is it done? I can't see
-->
Choose yes
-->
Choose yes
-->
Enter
-->
Enter
-->
Type in
-->
kubectl ls
-->
Hyphen, hyphen version
-->
Space, hyphen version
-->
Good
-->
kubedm space version
-->
No hyphen hyphen
-->
No hyphen hyphen for this
-->
Just kubedm space version
-->
Enter, good
-->
Now kubedm hyphen hyphen version
-->
or kubectl version
-->
kubectl space version
-->
kubedm hyphen hyphen
-->
Enter, yeah
-->
Now kubectl space version
-->
kubectl
-->
kubectl
-->
Be
-->
Bectl
-->
C
-->
Tl
-->
Yeah, no again hyphen
-->
No hyphen for
-->
Enter, okay, you're good
-->
Okay
-->
Others, you're good, ck
-->
The message like connection last one
-->
is fine, go over later
-->
Okay, what about
-->
Charles? Charles
-->
What's happening? Okay, you're 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
-->
You need to play around in here
-->
Be careful, so you can again click
-->
on the terminal window
-->
Does it open one more
-->
screen?
-->
Yeah
-->
Click
-->
Click the terminal
-->
That is open one more screen
-->
Is this student, user?
-->
Yes
-->
Now login to the first
-->
machine
-->
Go to
-->
cd
-->
student
-->
dm
-->
ssh
-->
cd
-->
m
-->
window
-->
And type in the ip of the first one
-->
So
-->
So
-->
Still here
-->
Now in the document now
-->
Go down and now we are
-->
steps what is supposed to do on the work of one same steps you're going to use
-->
worker 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 next step there's one step you see this cut for some reasons this step is
-->
not sure how will you cut it let me again update it so this step the full
-->
step so can you update this in your worker session after host name copy
-->
this and a worker node session some reason is not here so you can make it
-->
forward the next one is fine do app get update install and then
-->
you can do this in both the worker nodes. First one make it worker one, other one make it worker two.
-->
you
-->
you
-->
run the script it will you're not installing kubectl in this
-->
not be you're not installing in here so once it's done and confirm the
-->
versions of everything except the kubectl
-->
you
-->
charts any questions and the script now dot dot forward slash and the
-->
yeah just type in co and tap yeah and okay something even wrong let's see why
-->
is it happening we're in some mistake chart what do you do see some let's
-->
see can type in host name type in history please type in history come
-->
down come down what is that I did the demon reload chips 1991 what the
-->
purpose of this was it there the document okay no problem can type in
-->
hostname let's proceed I confirm the versions contain any all of them and
-->
then we should confirm the versions of all the software all the steps up
-->
are you good with worker one everyone make it as worker two and proceed
-->
same things except in the welcome I've got a worker two that's it no
-->
commissions
-->
you
-->
you
-->
you
-->
I think we are good
-->
yes
-->
mr. mission
-->
yes to ADM space in on the master mission type in to ADM space in on
-->
the master
-->
money on the master
-->
and if you see your components is putting certificates or you see a base
-->
that were getting all your master components it is like screened in this
-->
is confirmed okay one second you're all good so now what you do is copy
-->
the token the last two lines the last two lines copy this to notepad
-->
copy that to know that highlight it copy that to a notepad
-->
now the next step is you're supposed to run the next three commands the
-->
document so go down master which command here to right click right click
-->
right click and click on copy so what you do is this is free like this so
-->
use your mouse and your keyboard and then highlight like this and then
-->
right click and copy good good now yeah you're not able to paste are
-->
laptop of office okay why what happens can you please in the chat history this
-->
check with a real place to chat yeah the zoom chat check where in notepad
-->
okay fine so let's do something we'll come back with it I'll resolve this
-->
let it be like this let's proceed okay now okay one second on the desktop of
-->
where locked in do you have a notepad one second are you trying to copy to
-->
your laptop or you're trying to paste it on your desktop which we're trying
-->
to do
-->
where are you trying to copy to your laptop or you're trying to copy to the
-->
Ubuntu desktop which we're trying to copy okay if not I think so do we
-->
notepad or something in here one second it is confirmed
-->
okay can you right click in this box this is a document this is this in
-->
this desktop right click click on
-->
okay I'll help you out later yeah 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
-->
you
-->
yeah yeah
-->
I'm going to copy the properties in just one second.
-->
Okay, now type in kubectl hyphen hyphen version.
-->
Now 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.
-->
Everyone, are we good till here?
-->
Yeah, good stuff, Arun and Charles.
-->
No, no, no. One second.
-->
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 ctrl c, yes.
-->
Now copy the three commands of the next mkdir, three commands I gave you.
-->
Are you understanding which command I'm talking about?
-->
Let me give you the chat.
-->
The chat I'm going to paste you.
-->
Just copy those three commands the chat I gave you.
-->
Just right click and paste.
-->
Yeah, click paste.
-->
Enter.
-->
Yes, so now what you do is type in kubectl kubectl space version.
-->
You are good. Fine.
-->
So now what we do is next command, run the apply command. Run the apply command, everyone.
-->
Yeah, does it say it is added?
-->
Yeah, then good.
-->
Gene.
-->
What's happening?
-->
Done.
-->
Okay, ck.
-->
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.
-->
Just copy the token from your notepad.
-->
Complete token.
-->
And run the token on your worker nodes.
-->
Copy the token which you have 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.
-->
That'll be good.
-->
Yes, Charles. Now let me explain.
-->
Charles, 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.
-->
Okay, did you get a token?
-->
One second.
-->
Copy from this command.
-->
No, not from there.
-->
Start from start.
-->
Yes, from that.
-->
No, it's complete.
-->
Starting not from this.
-->
Yes, yes.
-->
K is missing.
-->
K, K.
-->
Yes.
-->
Right click.
-->
Copy.
-->
Now go to worker machine.
-->
Maximize.
-->
The same other machine.
-->
You did some mistake.
-->
I think you did some additional steps.
-->
What did you do?
-->
Now before the initial worker node, something you had done some mistakes.
-->
Let me figure it out.
-->
So can you go to worker one machine?
-->
Maximize worker one.
-->
Maximize.
-->
So can you do, can you run the command again?
-->
Host name CTL hyphen once more.
-->
Host name CTL.
-->
No, no.
-->
Host name CTL is a single word.
-->
CTL.
-->
Space.
-->
Set hyphen host name.
-->
Set, set.
-->
Post name CTL once space.
-->
Set.
-->
Hyphen.
-->
After set.
-->
No space.
-->
After set hyphen.
-->
Post name space.
-->
Worker one.
-->
Enter.
-->
Type in EXEC bash.
-->
EXEC space bash.
-->
Enter.
-->
Now use the command and try to join the command again.
-->
Just use the command and try to join the command again.
-->
Arrow keys on your laptop.
-->
No, no, no.
-->
Come down.
-->
Come down.
-->
Run the previous command.
-->
Use the app.
-->
Press the app arrow.
-->
Where the prompt?
-->
Yes.
-->
Yes.
-->
Yes.
-->
Once again.
-->
No, no.
-->
Go to same command please.
-->
Once again.
-->
Press enter.
-->
Okay.
-->
So you need to tell me what exactly happened initially.
-->
Something you've done.
-->
Some mistake you've done.
-->
Can you type in container D hyphen version?
-->
Container D.
-->
Space.
-->
Hyphen hyphen version.
-->
Enter.
-->
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.
-->
F-O-R-C-E.
-->
Force.
-->
Yeah.
-->
Enter.
-->
Okay.
-->
Now type in.
-->
Okay.
-->
Now run the script again.
-->
Dot forward slash container D.
-->
Just type in C one tab.
-->
Tab.
-->
Press the tab.
-->
Use the tab.
-->
Yeah.
-->
Enter.
-->
So you're getting at this error message.
-->
By chance 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 apparel.
-->
Use the apparel and try to join again.
-->
Please use.
-->
Run the join command again.
-->
Run the join command.
-->
Join command.
-->
The previous model ran.
-->
Use the apparel.
-->
Press the apparel.
-->
Not here.
-->
Yes.
-->
Press the apparel.
-->
Key.
-->
Key.
-->
On your laptop.
-->
On your laptop.
-->
Press the up key.
-->
Or apparel key.
-->
Yes.
-->
Yes.
-->
Can run it one more.
-->
Okay.
-->
I'm not sure what has happened.
-->
Something you've done.
-->
Okay.
-->
Can you now give it 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 I'm able to log into this mission.
-->
And this mission.
-->
Log into 193.
-->
Not here.
-->
Come back to the student.
-->
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.
-->
Maximize this now.
-->
Maximize.
-->
Maximize.
-->
Yes.
-->
Now.
-->
One second.
-->
No.
-->
Your right window.
-->
One second.
-->
Now type in CD.
-->
Yeah.
-->
Yeah.
-->
Enter.
-->
SSH hyphen I name.
-->
Key dot PEM.
-->
Key dot PEM.
-->
PEM.
-->
Paste Ubuntu.
-->
Add.
-->
The IP.
-->
Fifty four.
-->
Add.
-->
Fifty four.
-->
Two fifty five.
-->
Fifty four.
-->
Five four.
-->
Dot two five five.
-->
Dot two three five.
-->
Dot one ninety three.
-->
Press enter.
-->
Choose yes.
-->
Okay.
-->
Now do a pseudo su hyphen.
-->
Pseudo SU.
-->
Pseudo.
-->
After pseudo.
-->
No hyphen.
-->
Paste SU.
-->
Paste hyphen.
-->
Enter.
-->
Type in hostname CTL.
-->
Hostname CTL.
-->
Paste.
-->
Set hyphen.
-->
Hostname.
-->
No hyphen.
-->
Set.
-->
Set.
-->
SET hyphen.
-->
After set.
-->
One hyphen.
-->
Yeah.
-->
Next.
-->
After hostname.
-->
No.
-->
This is the mistake you're doing I think.
-->
Be careful.
-->
Control C.
-->
What's happening?
-->
You can't see.
-->
Type in clear please.
-->
Type clear.
-->
Hostname.
-->
CTL.
-->
Paste.
-->
Hyphen.
-->
Hostname.
-->
Paste worker.
-->
Paste worker one.
-->
No.
-->
One second.
-->
Right.
-->
So can you use appara again?
-->
Use the appara.
-->
Press the appara 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 run the.
-->
Write the script now.
-->
Now follow the steps now properly.
-->
You can do it.
-->
Now do the next command document.
-->
This.
-->
You have to wait for five minutes.
-->
Just finish off this troubleshooting.
-->
Yeah.
-->
Copy these.
-->
Enter.
-->
Press enter.
-->
Press enter.
-->
Yeah.
-->
Now vi.
-->
Do a control c.
-->
I can see it.
-->
Do a clear.
-->
Type in clear.
-->
Vi.
-->
Container d dot s.
-->
Change the script.
-->
Which is there under the worker node session.
-->
Is it complete script?
-->
Okay.
-->
One second.
-->
Can you go down?
-->
Go up.
-->
Go up in this document or go up?
-->
Up.
-->
Still up.
-->
Once again.
-->
Once again.
-->
Okay.
-->
Go down in that.
-->
Last.
-->
Last line.
-->
Last line.
-->
Okay.
-->
Now click on paste.
-->
Escape colon WQ.
-->
Escape colon WQ.
-->
Again do a cat on this file.
-->
Do a cat.
-->
C-A-T.
-->
Define name.
-->
Space.
-->
Container d dot s-h.
-->
Paste.
-->
Just type it.
-->
Tab.
-->
With the tab.
-->
Enter.
-->
Okay.
-->
Fine.
-->
C-H mod.
-->
Type in C-H mod.
-->
Seven hundred.
-->
C-H mod.
-->
Space.
-->
Seven hundred.
-->
Define name.
-->
Space.
-->
Just type in.
-->
Yeah.
-->
Enter.
-->
Dot forward slash.
-->
Container d.
-->
Yeah.
-->
Enter.
-->
So 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.
-->
Okay.
-->
Is it one before other?
-->
Him or others?
-->
The voice is not clear?
-->
Okay.
-->
Fine.
-->
Okay.
-->
Fine.
-->
I'm making off.
-->
Press enter.
-->
Press enter.
-->
Okay.
-->
So now go to the master.
-->
Go to the master mission.
-->
Maximize.
-->
Copy this token.
-->
From the start.
-->
No, no.
-->
Now go back.
-->
Paste this.
-->
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.
-->
Okay.
-->
Be careful.
-->
I think.
-->
No, no.
-->
Not here now.
-->
Why are you again coming in here?
-->
Not a worker one.
-->
Go back to your.
-->
Terminal.
-->
Is it terminal?
-->
Is it yours?
-->
Once again.
-->
Is it yours?
-->
Which terminal is this?
-->
Okay.
-->
Now good.
-->
Yeah.
-->
Close this.
-->
Now again click on terminal.
-->
Not this one.
-->
In 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 do the next IP.
-->
The IP which I gave it to you was 227.
-->
Clear?
-->
Yeah.
-->
Yes.
-->
You can do like this.
-->
Choose yes.
-->
Yeah.
-->
Pseudosu hyphen.
-->
So space hyphen.
-->
Enter.
-->
Hostname.
-->
Hostname.
-->
Hostname.
-->
Hostname.
-->
Hostname.
-->
Hostname.
-->
Hostname.
-->
Space.
-->
Set hyphen hostname.
-->
Set set set hyphen hostname.
-->
Hostname.
-->
The end.
-->
Make it as work of four.
-->
Yeah.
-->
Exec bash.
-->
Exec bash.
-->
Enter.
-->
Now run those two utilities.
-->
Subget update and installing the certificate.
-->
Yeah.
-->
Enter.
-->
Enter.
-->
Enter.
-->
Enter.
-->
Enter.
-->
Yeah.
-->
BI.
-->
Container D dot SH.
-->
Container D dot SH.
-->
You can give any names up here.
-->
Yeah.
-->
Container D dot SH.
-->
Enter.
-->
Page script.
-->
Insert mode I.
-->
Page script.
-->
Yeah.
-->
Come down.
-->
Come down.
-->
Come down.
-->
Come down.
-->
Yeah.
-->
Take paste.
-->
Yeah.
-->
Escape colon WQ.
-->
CH mod 700.
-->
This one.
-->
Once this is done.
-->
The meanwhile.
-->
Can you go and have the token copied.
-->
The master.
-->
You can have the token copied.
-->
Maximize.
-->
Copy from the start.
-->
Okay.
-->
Copy it.
-->
Yeah.
-->
Come back to that node.
-->
Press enter.
-->
Yeah.
-->
Right click.
-->
And paste as enter.
-->
Now go back to the master.
-->
Type in kubectl get nodes.
-->
kubectl.
-->
kubectl.
-->
kubectl.
-->
kubectl.
-->
Get space nodes.
-->
Enter.
-->
All good.
-->
So remember which machines are supposed to use worker 3 and worker 4.
-->
Not worker 2.
-->
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 if you want.
-->
Why I'm 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 to hear everyone?
-->
Okay.
-->
Right.
-->
So now.
-->
Observe what the next step.
-->
Okay.
-->
So now how do we.
-->
So you 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.
-->
Given name.
-->
Short form.
-->
And mention it.
-->
So that you're not typing everything.
-->
Because we make mistake.
-->
We type in kubectl.
-->
Okay.
-->
Now one more command.
-->
Next command.
-->
I'm doing all the commands as per document.
-->
This is still here.
-->
It is.
-->
Done.
-->
Is all we have done.
-->
These are all we have done.
-->
This is done.
-->
So now let's run this command.
-->
Get pods.
-->
All names.
-->
Spaces.
-->
Get pod.
-->
All names.
-->
Spaces.
-->
Hyphen O Y.
-->
So this is going to print all the pods.
-->
Across all the namespaces.
-->
In a wide format.
-->
Means in a full information.
-->
So that you can see all the information.
-->
Yes.
-->
Do you see this everyone?
-->
So what exactly is it doing.
-->
Showing you.
-->
Is showing you the pod names.
-->
Is showing you the pod names.
-->
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 kubectl actually.
-->
Is it working for you, everything, fine?
-->
The crash to backup, is it?
-->
Okay, let's see why is it happening.
-->
Not sure network wise.
-->
So getting errors for proxy.
-->
Okay, let's see.
-->
Next one.
-->
You also see resets and the pod names. This is a pod IPs.
-->
This is your name on the node. This is a pod IPs.
-->
Let's do a small example. Let's do a small, let's duplicate a pod.
-->
So you can say run.
-->
So it will 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.
-->
Change index.
-->
And now get pods.
-->
hyphen o and y.
-->
And it must create
-->
gf pod.
-->
Let's see.
-->
Because getting some error.
-->
Is it working for you all?
-->
Or no?
-->
Sorry, minus pending because I think.
-->
Yes Gene. No, no, no.
-->
It is not okay. There is some problem.
-->
If it is crashed over, there is some error we are getting.
-->
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 as we did.
-->
It runs for him.
-->
What's happening?
-->
Okay, let's.
-->
Not sure why it is happening. It seems as we followed.
-->
It runs 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.
-->
Apply the network once more.
-->
Okay.
-->
And.
-->
See this.
-->
Let's do this.
-->
I'm going to do a reset.
-->
Master.
-->
Master.
-->
And then again do it.
-->
I'm doing a reset.
-->
Try to do. I'm trying to do a reset just to check that all the steps are same.
-->
And follow the steps again.
-->
Copy the token.
-->
To a notepad.
-->
And run those three commands.
-->
All right.
-->
All right.
-->
So now what you do is reset on the worker nodes also.
-->
And.
-->
Join the new token.
-->
All right.
-->
Let's do this.
-->
This running is working to do properly again is working.
-->
Please check.
-->
Yes.
-->
Yes.
-->
Everything are doing a reset.
-->
Reset on the master reset on your worker nodes and do everything from the reset step.
-->
Okay.
-->
Let's see for others.
-->
But you 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.
-->
Qbedium space init.
-->
Qbedium 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 enough enforce.
-->
You do a reset if enough enforce on the master worker nodes also.
-->
Copy the token.
-->
Okay.
-->
CK what are you trying to do?
-->
Qbedium reset.
-->
Qbedium reset hyphen hyphen force.
-->
Reset.
-->
Space reset.
-->
Space hyphen hyphen force.
-->
Yeah.
-->
Force.
-->
Force.
-->
F-O-R-C-E.
-->
Yeah.
-->
Yeah.
-->
Do the same with all the nodes.
-->
Press enter.
-->
Yeah.
-->
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.
-->
Charles, you're good right now.
-->
Who's talking now to me?
-->
Charles, why are you doing this?
-->
We're all good.
-->
Why did you do this?
-->
I told you we're all good, correct?
-->
I told you we're all good.
-->
We're all running.
-->
Okay.
-->
Type in Qbedium space init.
-->
I told not for you.
-->
For others.
-->
Because you've seen all the pods running before.
-->
Qbedium space.
-->
Space init.
-->
Yes.
-->
Enter.
-->
Same step you're supposed to do.
-->
Do a reset now on a worker also.
-->
Qbedium reset hyphen hyphen force.
-->
After this is done, follow the steps.
-->
Reset and all of them.
-->
Copy the token.
-->
And run this token.
-->
Qbedium space reset hyphen hyphen force.
-->
And all the missions.
-->
You'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.
-->
After you do a init, you also need to run those three commands.
-->
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.
-->
Qconfig.
-->
And chown.
-->
The master.
-->
The master.
-->
After you did the reset, you need to run those three commands.
-->
That mkdar.
-->
That sudo scp.
-->
These three commands.
-->
So first, always check the master is ready.
-->
And 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 should see apply command for network adding.
-->
Yeah.
-->
Let me give the command a chat.
-->
I am giving the command a chat.
-->
Yes.
-->
I paste the chat.
-->
Try.
-->
Run this command.
-->
Yes.
-->
First check if master must be ready.
-->
Do a get nodes.
-->
CubeCTL get nodes.
-->
CubeCTL 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 CubeCTL commands.
-->
Apply commands.
-->
And then go ahead and run in the token on the worker node.
-->
Okay.
-->
It means the token.
-->
You can also run a new token.
-->
Yes.
-->
Same for worker 2.
-->
Yes.
-->
Now go to the master.
-->
And do a get nodes.
-->
CubeCTL get nodes.
-->
Okay.
-->
All right.
-->
CubeCTL get nodes.
-->
Yeah.
-->
This is there anyway.
-->
Just do a.
-->
CubeCTL get nodes once.
-->
Get nodes.
-->
Yes.
-->
You're good now.
-->
Now dedicate a part.
-->
Dedicate a part.
-->
CubeCTL.
-->
K.
-->
Run.
-->
K.
-->
Run.
-->
Run.
-->
Space.
-->
Example.
-->
Space.
-->
Hyphen.
-->
Hyphen.
-->
Image equal to index index.
-->
And it will get created.
-->
Okay.
-->
Are we good now?
-->
Jing.
-->
No, no, no.
-->
Spelling is wrong.
-->
It is syntax is wrong.
-->
After.
-->
Example is space.
-->
And after image equals.
-->
It is equals.
-->
Not colon.
-->
Enter.
-->
Yeah.
-->
Now do a get parts.
-->
CubeCTL get parts.
-->
Part parts.
-->
Parts.
-->
No, no.
-->
No, no.
-->
Remove that.
-->
Just CubeCTL get parts.
-->
CubeCTL get parts.
-->
Hyphen space.
-->
Hyphen O.
-->
And by.
-->
It runs here.
-->
Which O.
-->
Alphabet O.
-->
Space wide.
-->
No hyphen again.
-->
Before.
-->
Yes.
-->
Enter.
-->
It is running.
-->
Everyone is running now.
-->
KCK.
-->
All are good.
-->
Yes.
-->
So Charles, I clearly told you why you're doing all this and stuff.
-->
Okay.
-->
Everything is good.
-->
Perfectly.
-->
Before.
-->
Yeah.
-->
Can you call the token a notepad?
-->
Or what you can do?
-->
Do like this.
-->
Once again, Charles.
-->
So can you go to the master?
-->
Why are you trying to join again on the master?
-->
Please understand.
-->
It's over.
-->
You must.
-->
No, no, no.
-->
Go control C.
-->
Please do control C.
-->
CubeCTL get nodes.
-->
CubeCTL get nodes.
-->
Space get space nodes.
-->
Space.
-->
Have to get.
-->
Nodes.
-->
Yes.
-->
Nodes.
-->
Get nodes.
-->
E.
-->
D.
-->
B.
-->
E.
-->
S.
-->
Okay.
-->
Okay, 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 to not do the steps.
-->
Okay.
-->
Do it clear.
-->
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?
-->
Joint 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.
-->
Okay.
-->
So can you do apply?
-->
That network.
-->
Yeah.
-->
That network command hyphen F.
-->
Yeah.
-->
Charles, you need to repeat the steps again.
-->
Because of something you've done on the master.
-->
So you have to be careful.
-->
Yeah.
-->
So can you?
-->
Not sure what to do now.
-->
Okay.
-->
Let's do the last step.
-->
Q barium in it.
-->
Q barium.
-->
Space.
-->
In it.
-->
Again.
-->
Enter.
-->
Q barium reset hyphen F enforced.
-->
Q barium reset hyphen F enforced.
-->
Enter.
-->
Did I understand what the mistake you did on this mission?
-->
Charles, I have to get the token.
-->
Don't run the token on the master.
-->
So now do a Q barium space in it.
-->
Same thing.
-->
You're supposed to do a reset on all the missions and do properly.
-->
Is it okay?
-->
Yeah.
-->
Please go to your end.
-->
I think others.
-->
I'll be good till here.
-->
Master is ready now.
-->
Are you able to create pod?
-->
Please confirm.
-->
Gene is good.
-->
Which one?
-->
Who's this?
-->
Can we?
-->
Yes.
-->
One example.
-->
Okay.
-->
I understand.
-->
I understand.
-->
I understand.
-->
Qubes will get pods.
-->
One example.
-->
Okay.
-->
Type in clear.
-->
Type clear.
-->
Again, Qubes will get pods.
-->
Run the same command.
-->
Yeah.
-->
Yes.
-->
Yes.
-->
Now do a Qubes ETL describe.
-->
Qubes ETL describe.
-->
Type in Qubes ETL.
-->
Please type.
-->
Yes.
-->
Qubes ETL.
-->
The same command.
-->
Yes.
-->
Qubes ETL.
-->
Describe.
-->
R-I-B-E.
-->
No, no.
-->
C-R-I-B-E.
-->
Pod.
-->
Space.
-->
Example.
-->
The spelling is wrong.
-->
Can you do control C?
-->
Type in clear.
-->
Can you show the command what you ran?
-->
Use apparel.
-->
Apparel again.
-->
Apparel.
-->
Apparel.
-->
Show me the command what you ran to create the pod.
-->
Please use apparel.
-->
One second.
-->
One second.
-->
Okay.
-->
Let's create new one more pod.
-->
Okay.
-->
Let's see.
-->
Make it simple.
-->
Qubes ETL.
-->
Make it Qubes ETL.
-->
Let's run a new command now.
-->
Clear the screen.
-->
Type in clear.
-->
Or do a control C.
-->
Do a control C otherwise.
-->
Qubes ETL.
-->
What you can do is you can use like this.
-->
Use the alias.
-->
Use the alias.
-->
A-L-I-A-S.
-->
Remove this.
-->
Remove this.
-->
Backspace completely.
-->
Type in A-L-A-I-S.
-->
A-L.
-->
A-L-I-A-S.
-->
Space K.
-->
Equals.
-->
No space.
-->
Qubes CTL.
-->
Qubes.
-->
CTL.
-->
Yeah.
-->
L.
-->
Enter.
-->
Now it's the new one.
-->
Let's run a new one.
-->
K.
-->
Run.
-->
Give a name as test this time.
-->
Test.
-->
Give a different name for the pod.
-->
Test or something.
-->
Hyphen hyphen image.
-->
Hyphen hyphen image.
-->
Equals.
-->
NGINX.
-->
INX.
-->
Let me say it again before.
-->
NGINX.
-->
After G it is I.
-->
X.
-->
Enter.
-->
Enter.
-->
Now do a get pods.
-->
Qubes ETL.
-->
Get pods.
-->
Get pods.
-->
K.
-->
Get pods.
-->
Hyphen.
-->
This is running.
-->
So because of the message.
-->
A team.
-->
Okay.
-->
Charles.
-->
I would request you to do the break properly.
-->
The steps.
-->
It must be running in.
-->
We go in time twice.
-->
Do properly.
-->
Okay.
-->
Let's see the step.
-->
What is happening to.
-->
What can you do now?
-->
No.
-->
No, no, no.
-->
It will not work because your master is corrupted.
-->
You have to 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.
-->
QBDM reset.
-->
Hyphen.
-->
Enforce.
-->
Do this as properly.
-->
Get a new token.
-->
And then do it.
-->
I'll help you out.
-->
I just.
-->
I'll help you out the break now.
-->
So you want to hold others.
-->
Going to take a break now.
-->
Short break.
-->
Yeah.
-->
So.
-->
So we'll take it.
-->
Because he's still doing the lab.
-->
So let's say 15 minutes.
-->
Thank you.
-->
We'll come and explain other things.
-->
Okay.
-->
So now once again.
-->
Do a QBDM.
-->
Reset it.
-->
What did you do now?
-->
Now, one second.
-->
Okay.
-->
Press enter in it.
-->
Enter.
-->
Present.
-->
Now, please do the steps.
-->
And listen and tell you.
-->
Okay.
-->
I tell you what comment.
-->
Next month is done.
-->
Okay.
-->
Now, in the chat.
-->
Don't anything else.
-->
In the chat.
-->
I've pasted three commands.
-->
Run the three commands.
-->
On the master.
-->
Choose yes.
-->
Choose Y.
-->
Choose Y.
-->
Y.
-->
Y.
-->
Enter.
-->
Wait now.
-->
Now is this command.
-->
The chat.
-->
Give it to you.
-->
One second.
-->
Did you apply it?
-->
Yeah.
-->
So now.
-->
Paste the next command.
-->
In the chat.
-->
Yes.
-->
Now copy.
-->
Maximize this window.
-->
Copy the token.
-->
Go to your worker one.
-->
Worker three.
-->
Worker three.
-->
We didn't copy completely.
-->
Go to worker three.
-->
Right click.
-->
And paste.
-->
Press enter.
-->
Okay.
-->
Type in cubeadm.
-->
You didn't notice it before.
-->
Cubeadm space.
-->
Reset hyphen hyphen force.
-->
Space hyphen hyphen force.
-->
Yeah.
-->
Enter.
-->
Don't anything now.
-->
Okay.
-->
Now paste the token again.
-->
Right click.
-->
Paste.
-->
Enter.
-->
Okay now wait.
-->
So now go to the master.
-->
So you can make it simple.
-->
Type in alias.
-->
Al.
-->
I.
-->
As.
-->
K equal to cubectl.
-->
K.
-->
Alphabet K.
-->
Just type in alphabet K.
-->
K.
-->
K equals.
-->
Small.
-->
Small k.
-->
Equal to cubectl.
-->
K.
-->
U.
-->
B.
-->
C. T.
-->
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
-->
Okay, I think done the token copy the token and paste it
-->
This right click I think called copy this right click in your work of four
-->
Paste it enter. Okay, do a reset
-->
Cube ADM reset
-->
Hyphenation force interpelling is wrong enter and right click and paste the token enter right now go to the master
-->
Yes, use up run the same command what you ran before. Yes enter
-->
Right now we'll do one more command
-->
K run
-->
K space run
-->
Space test hyphen-hyphen image equal to no no image is a image. It is not images equal to
-->
NG INX
-->
NG INX
-->
INX enter enter now K get parts
-->
K get part hyphen O
-->
Space hyphen O space white WID enter
-->
All good, okay. Okay. We'll be taking a break now and come back. Yeah
-->
Back this so now
-->
Let's go back
-->
And we're not with skips and steps in the documents open a notepad and the last one. Let's run this command
-->
request everyone to make
-->
short form of alias
-->
Make it small who's is I'm seeing the screen I get confused. Okay. Okay
-->
So many screens I've seen from the morning
-->
Yeah, so
-->
Now
-->
Start using a diesel because everyone see here for you. So choose alias
-->
K equal to troops idiot first. Yeah. So now you say
-->
to see deal API
-->
hyphen resources
-->
When you do this to give you all the objects
-->
Information
-->
Yeah, give you all the objects information
-->
So you see components endpoints evens parts all these are the objects
-->
And which API version using you see the next call which API versions
-->
The short form
-->
This is part of this whenever you want to know which API version
-->
What are the object the nicknames? We use the K cube seated API hyphen resources
-->
Now you might want to understand
-->
You can use
-->
Cdl explained and
-->
Like pause and that will let you know what exactly this object
-->
What is it?
-->
What the API version?
-->
What fees 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
-->
So now when you see the sin the
-->
Explain output you can easily start writing in the pod yaml file
-->
Says API version. So it sees your field. It is a good API version. So API version has be one
-->
Find this part
-->
The fields you see a perversion kind metadata
-->
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
-->
To Cdl 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 the first created three machines
-->
We already have three machines in our use case we set the host names we installed utilities initially and
-->
Then install the main components
-->
and we're able to
-->
All good
-->
Okay
-->
Now what are namespaces the next topic?
-->
What is the namespace? What could be a namespace? Anyone?
-->
strike this is a diagram you tell me
-->
What we namespace sorry are you talking I can't hear nobody's talking fine. So what is namespace right now? You have a cluster
-->
Now this cluster resources has to be used by two teams
-->
So we want the resources to be separated
-->
so in the cluster this could be project a and
-->
This could be and if users a b c they are working in 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 in this too
-->
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 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 is got created the same space
-->
Let's see this so why you use namespaces the use case now. Let's go and see
-->
Resources we are two methods either
-->
So I will first get the namespaces
-->
Or I can use a nickname namespaces
-->
These are default namespaces already created
-->
Now can I do a describe so if you want any specific namespace I say get
-->
NSS.com or I can also say default the namespace name
-->
I want to see what exactly the namespace
-->
And use kit
-->
If you want to get more information, I can use work describe describe
-->
namespace and the default
-->
So when you do a get of the object type you give all the all the objects under that object type
-->
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 props
-->
Now can we create so now when I do get parts
-->
You see that it doesn't have you're not sure you want to 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 different namespace I can say get namespaces
-->
Namespace
-->
equals
-->
Cube hyphen system this will show all the parts in this namespace
-->
Have you good if you don't make a namespace it will always goes to your default namespace
-->
If you want a specific namespace you have to explicitly call the namespace
-->
Quickly have some reasons one of the parts are going now
-->
How do you create a namespace now
-->
So I can create namespace
-->
by
-->
create
-->
namespace short form in NS and I can give like a test
-->
Got created
-->
How do you check it? I can do a get NS
-->
You see this
-->
created
-->
See the information about it. I can show a describe
-->
NS or namespace
-->
In the name of it
-->
I'll give time for your lab. This is one method other method is I cannot use the 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
-->
Holden the type is namespace
-->
Now what is the name of it that will get you mentioned metadata
-->
Meta
-->
Data
-->
Enter and give two spaces
-->
But right yaml like this API version colon one space v1 kind one space metadata
-->
So we'll run this file so I say this file and I can either use apply or create
-->
so I say apply
-->
Which in which file name I can F and the file name now will go and check will got created
-->
I do get NS and
-->
You see this created
-->
This is how you work with your government's YAML files
-->
Either you can use the imperative method command line or you can also use a YAML method now for example
-->
I do not have a YAML file. I
-->
want to see what is exactly happening inside a part 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 be 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
-->
namespace and parts
-->
lab one
-->
Play around
-->
The first part yourself till don't do resource quota try to create play around till here
-->
But replace the name with the name what I want to give
-->
Is play around with this module two labs?
-->
Lab one a cube and exchanges in points, please start
-->
Some fire or something there in the back end something this crashing of the service
-->
They're all good for you, but then I'll get you see the same for me crash the back. Okay, fine
-->
But people see let me check the back end something government blocking or something. Let me check
-->
to the lab
-->
You
-->
Are we good? Okay. Okay gene a 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 and still not talk about I told you this dude
-->
This hold on yeah, no problem others just create the namespace. Okay, we're good chance. We're good
-->
Just do not do these resource quota just do in the first part. That's what I told you
-->
Not talked about this
-->
Okay. Now, let me explain sitting. Can you do a hyphen? Oh, why is it happening money for worker one?
-->
Let's see for which means one node
-->
run this command and
-->
Tell me on which node are you having the problem?
-->
So get parts
-->
Namespace your system
-->
Right
-->
Tell me on which node you see this
-->
The worker one or
-->
On this node you see a crash to back off. Okay one others
-->
Okay
-->
But is running at least coffee 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 neon worker one sometimes so strange
-->
Okay
-->
So what about you CK or you also is working on?
-->
Okay
-->
Okay
-->
Let's see
-->
Next let's proceed up. So what's this was for us now, let's consider that
-->
We have two things
-->
Let me explain this now. Let's consider that now. We have two projects was it a
-->
And working on project B and they are using namespace to be namespace one and namespace two
-->
Now total cluster resources were 100 vcpo
-->
It were had 100 GP
-->
resources
-->
Now if this team or the project one consumes all of them
-->
then nothing would be there for the
-->
project to
-->
Understanding are you 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 setting quota that for this namespace
-->
Maximum is 50 vcpo 50 GB ramp
-->
And again 50 GB these things so we can define some resources
-->
Xcpo with a memory disk storage. We can restrict it by using a quarter as one quota
-->
Second one is it will also restrict the numbers that in this namespace the team cannot create more than 10 parts
-->
In this namespace cannot get 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
-->
the 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 I had to be careful when you work for production because in live environment
-->
It could be more users keep on coming in. So I had to be very careful in define resource quotas on your live
-->
But for testing you can play around but for live very very very careful because 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
-->
to restrict it
-->
Yeah, so let's do this lab
-->
The second part will explain and I want to do yourself. Okay
-->
Now I am creating 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 while applying it and 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 pod
-->
First time this 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 will work now
-->
I'll go again check
-->
Now what I do I'll again create one more pod
-->
Right now it is has
-->
Six and is used I 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. I getting it everyone
-->
Let's see a documentation so let's me I just want to example first so that I do easy for to understand and then to go
-->
reverse I go to resource quotas and type it
-->
So resource quota 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 pods four pods like this we can define and we can define for all these
-->
config maps
-->
We can define for pods
-->
We can define for resource quotas services for all these things
-->
So very brief these are important wanted you remember we normally define the source quotas for number of pods
-->
We define this was quest resource for CPU memory all these are important ones
-->
Yep
-->
Understood the use of resource quota now start those
-->
It is across the cluster namespace cluster yes
-->
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 know it is for the cluster here, okay, please do the lab
-->
You're okay to do the lab yourself
-->
If do the remaining one
-->
Do till here complete it let me know if any questions
-->
I'm checking for the lab the backend issues complete this let me check what is happening in the back
-->
I
-->
but anything that there is something that I mean let's just do this okay I can okay
-->
before I can ask what do you want to talk about yeah I'm back
-->
uh Charles are you clear what to do the lab you're good okay yeah yeah so I'm
-->
checking what could be done for your question you can ask me and help you out
-->
you
-->
okay team uh can you all uh 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 1 and snap are getting it so do a ls and you see some files
-->
so many files are there you see some files so let's remove some folders so I can say
-->
rm hyphen word
-->
we can also see rm hyphen rf snap and also remove this project one
-->
because the space consume because the same mission we can still extend but I just want
-->
to ensure that before we do this remove the folders
-->
rm minus rf and the names of the folders are you good
-->
project one snap and word we can remove it
-->
and then check on the master does it improve
-->
you
-->
have it done 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 uh you want to remove the
-->
folder rf one okay good did you get it so now let's do together one more lab
-->
in uh namespace quotas together now so now next lab 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 this is a browser 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 port in the same namespace
-->
do manual method okay so go ahead and do this one don't the deployment method do a manual
-->
method because it's still not learned that method so for example I create a namespace
-->
so for example has home namespaces so I want to apply it on test 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
-->
namespace equals to test any any namespace whichever you want
-->
to get resource quotas
-->
and you can also see
-->
202 so you can save port one
-->
create one more port
-->
the same namespace
-->
particularly third part it must give you an error message
-->
so
-->
small example in the dog that link they give me for deployment not talk about deployment
-->
in which I can get 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
-->
are we good so this is how we can restrict the resources as well as the numbers
-->
on a specific namespace good uh i'll wait for you
-->
you
-->
so
-->
yeah you're good and you're one second your namespace is test it is equals to
-->
one and high enough an image
-->
use our power again and the same command make it to two again try third one very good it is
-->
equal equals no colon not there under before engine x yeah that's equal they still have an
-->
or namespace namespace yeah then okay fine what happened did I play the quota you're
-->
small mistake do control c do apparel use apparel type in apparel apparel once more
-->
once more you see a space is there before
-->
it's now done it again once again let's do a different name okay that's fine yeah now do
-->
get part four is the next step do it get parts fine so we use a different name properly
-->
the test pod one three start from four now because we made a mistake we did not get created
-->
do a four five six first do a four check that the property gets created first do a get parts
-->
i can see it do you see the output is running i can see ck type it clear please type in clear
-->
parts enter what happened no no no no you're supposed to mention that namespace
-->
let me see doing from that time okay sorry uh get parts no no no get parts this is
-->
again refresh so you're getting greater the same command what you ran before just run the
-->
same command and see you just got created before no no no okay fine do fine do fine yeah
-->
yeah yes yes the mistake are we good okay fine this is about your namespace any questions
-->
everyone now let's go and delete this there's only parts let's delete the parts which is in
-->
here so say delete parts and mention uh hyphen hyphen namespace equal to q hyphen system
-->
okay so you can say delete parts hyphen hyphen all
-->
run this command let me get the command to chat
-->
use all and also also the namespace because
-->
let's go here's the thing so that the process will come up now build this command
-->
and now when you
-->
see all namespaces hyphen both wide and uh your webnet must be good now let's wait
-->
just trying to refresh okay
-->
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 and you don't extend the storage are we good now is everything running now
-->
you see there
-->
it's 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
-->
the main is important the main master everything is running others that's fine because you're
-->
terminating this point the main ones are running fine okay so because of the storage issue
-->
the next topic is pods 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
-->
the part i have two content for 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 through 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 this is our node looks 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 some storage so 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 configure let's see we can have two containers
-->
in here could it tell me why are you using two containers why not one why are you talking
-->
about two containers why not one what is the use case by talking to containers 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 now what is this using this for a
-->
website it is facing the customer website and this is what it does it gets in some images
-->
from internet and downloads the images from internet and save this in the shared volume
-->
now 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 continuous need to do both the work it might be slow performance issues
-->
so we use multiple containers in a part where we have one would be a main other would be
-->
the other containers and they can have in a 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 could
-->
have one two three it's up to you but we do not want to mix multiple applications in one
-->
for example in this example i have a shared volume with my one other one is
-->
used for log saving the logs
-->
we 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 in 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
-->
with the log tools monitoring tools so we separate containers for making the work much
-->
more easy in which you have 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
-->
application and database in the same part what do you think and even tomorrow for example you
-->
won't give access to someone you give access to a pod correct for example your developer
-->
friend and developer you give access to a pod now the he's also getting access database
-->
getting 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 friend and
-->
backing so always do not mix multiple things so make it very simple we have
-->
one main application then the other containers inside and they get an ip using the cni now
-->
let's do this no good okay fine now let's do the lab two i'll explain this so lab two
-->
we can create a pod simple example one name you can do the 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 so i'm trying to create a pod and then seeing the
-->
yaml field of it sometimes you might want to find the pod id use the syntax you replace
-->
the pod name the pod name what it created let's play around this let's play around with
-->
command get a different part and get the pod id
-->
give any name and you can also give a different image name and get the pods
-->
it's running
-->
pod and the pod name hyphen o and yaml
-->
and see the content whatever you want to see in the yaml you can observe it
-->
and also find the pod id play around
-->
charles what you do is do a get pod the pod name hyphen o yaml
-->
hyphen o hyphen small o hyphen hyphen o space yaml yaml
-->
and so now you can see the configuration 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
-->
what does the detail have yeah yeah yeah okay try to get the pod id get the pod id modify
-->
the name of the pod name in the next one with this in this command replace your pod
-->
name with the pod what it created and copy it and run that command replace the pod name
-->
with the your name name of the pod so this is your pod id sometimes when you do some
-->
operation you might require a pod id this is how we get in the information using a JSON
-->
path i think any questions team of nine spaces resource pod task and the pods what it will
-->
tell now any questions okay so is it 12 30 this is your lunch time correct will be 45 minutes
-->
or you need one hour break whatever you are saying how much time required one hour or 45
-->
minutes okay so you have to cook and eat is that okay no problem at this one hour is okay
-->
everyone yeah more than more than happy yes are there 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 okay all right uh so
-->
we'll be back by uh your time 130 okay break till 1 30 p.m you can also come early and
-->
practice also your wish yeah break to 1 30 p.m catch you remind me to start the recording
-->
some something forget to start the recording once you come in case you forget it
-->
please remind me i'm right now pausing the recording thank you thank you
-->
you
-->
you
-->
you
-->
you
-->
you
-->
you
-->
you
-->
you
-->
you
-->
you
-->
you
-->
you
-->
you
-->
you