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
United Arab Emirates - Docker and Kubernetes on AWS
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