so in this video I'm gonna show you what mini cube and cube CTL are and how to set them up so first of all let's see what is mini cube usually in kubernetes world when you are setting up a production cluster it will look something like this so you would have multiple masters at least two in a production setting and you would have multiple worker nodes and master nodes and the worker nodes have their own separate responsibilities so as you see on the diagram you would have actual separate virtual or physical machines that each represent a note now if you want to test something on your local environment or if you want to try something out very quickly for example deploying new application or new components and you want to test it on your local machine obviously setting up a cluster like this will be pretty difficult or maybe even impossible if you don't have enough resources like memory and CPU etc and exactly for the use case there's this open-source tool that is called a mini cube so what a mini cube is is basically one node cluster where the master processes and the work processes both run on one node and this node will have a docker container runtime pre-installed so you will be able to run the containers or the pods with containers on this node in the way it's gonna run on your laptop is through a virtual box or some other hypervisor so basically mini cube will create a virtual box on your laptop and our nodes that you see here as this node will run in that virtual box so to summarize mini cube is a one node kubernetes cluster that runs in VirtualBox on your laptop which you can use for testing kubernetes on your local set up so now that you've set up a cluster or a mini cluster on your laptop or PC on your local machine you need some way to interact with a cluster so you want to create components configure it etc and that's where cube CTL comes in the picture so now that you have this virtual note on your local machine that represents mini cube you need some way to interact with a cluster so you need a way to create pots and other kubernetes components on the note and the way to do it is using cube CTL which is a command-line tool for kubernetes cluster so let's see how it actually works remember we said that mini cube runs both master and work processes so one of the master process is called API server is actually the main entry point into the Covenant is cluster so if you want to do anything in the kubernetes if you want to configure anything create any component you first had to talk to the API server and the way to talk to the API server is through different clients so you can have a UI like a dashboard you can talk to it using kubernetes api or a command line tool which is cube CTL and cube CTL is actually the most powerful of all the three clients because with cube CTL you can basically do anything in the kubernetes that you want and throughout this video tutorials we're going to be using cube CTL mostly so once the cube CTL submits commands to the API server to create components delete components etc the work processes on mini cube nodes will actually make it happen so they will be actually executing the comments to create the parts to destroy the power to create services etc so this is the mini cube set up and this is how cube CTL is used to interact with the cluster an important thing to note here is that keeps ETL isn't just for mini cube cluster if you have a cloud cluster or a hybrid cluster whatever keeps it here is the tool to use to interact with any type of kubernetes cluster setup so that's important to note here so now that we know what mini cube and cube ctlr let's actually install them to see them in practice I'm using Mac so the installation process will probably be easier but I'm gonna put the links to the installation guides in the description so you can actually follow them to install it on your operating system just one thing to note here is that mini cube needs a virtualization because as we mentioned it's gonna run in a virtual box setup or some hypervisor so you will need to install some type of hypervisor it could be VirtualBox I'm gonna install a hyper kit but it's gonna be in those step-by-step instructions as well so I'm gonna show you how to install it on a Mac so I have a Mac OS mobi so I'm gonna show you how to install Mini Cube on this mac OS version and I'm gonna be using pro to install it so update and the first thing is that I'm gonna install a hypervisor hyper kids so I'm gonna go with the hyper kit go ahead and install it I already had any install it so with you if you're doing it for the first time it might take longer because it has to download all these dependencies and stuff and now I'm gonna install mini cube and here's the thing mini cube has cube CTL as a dependency so when I execute this it's gonna install cube CTL as well so I don't need to install it separately so let's see here installing dependencies for mini cube which is Cuban Ares CLI this is cube CTL again because I already had it installed before it still has a local copy of the dependencies that's why it's pretty fast it might take longer if you're doing it for the first time so now that everything is installed let's actually check the comments so cube CTL command should be working so I get this list of the commands with keep CTL so it's there and mini who should be working as well and as you see mini cube comes with this command-line tool which is pretty simple so with one command it's gonna bring up the whole kubernetes cluster in this OneNote setup and then you can do stuff with it and you can just stop it or delete it it's pretty easy so now that we have both installed and the comments are there let's actually create a mini cube kubernetes cluster and as you see there is a start command let's actually clear this so this is how we're gonna start a kubernetes cluster queue mini cube start and here is where the hypervisor installed comes in because this meter cube needs to run in virtual environment we're gonna tell mini cube which hypervisor it should use to start a cluster so for that we're gonna specify an option which is VM driver and here I'm gonna set the hyper key that I installed so I'm telling mini cube please use hyper kit hypervisor to start this virtual mini cube cluster so when I execute this it's gonna download some stuff so again it may take a little bit longer if you're doing for the first time and as I mentioned mini cube has docker runtime or daca daemon pre-installed so even if you don't have docker on your machine it's still gonna work so you will be able to create containers inside because it already contains docker which is a pretty good thing if you don't have docker already installed so done cube CTL is now configured to use mini cube which means the mini cube cluster is set up and keeps it yell command which is meant to interact with the kubernetes clusters is also connected with that mini cube cluster which means if I do cube City I'll get notes which just gets me a status of the notes of the kubernetes cluster it's gonna tell me that the mini cube node is ready and as you see it's the only node and it has a master role because it obviously has to run the master processes and I can also get the status with mini cube executing mini cube status so I see houses running cubelet which is a service that actually runs the pots using container run time is running so basically everything is running and by the way if you want see kubernetes architecture in more detail and to understand how master and worker nodes actually work in what all these processes are I have a separate video that covers community architecture so you can check it out on this link and we can also check which version of kubernetes we have installed and usually it's gonna be the latest version so with cube CTL version you actually know what the client version of communities is and what the server version of kubernetes is and here we see we are using 1.17 and that's the kubernetes version that is running in the mini cube cluster so if you see both client version and server version in the output it means that mini cube is correctly installed so from this point on we are gonna be interacting with the mini cube cluster using cube CTL command line tool so mini cube is basically just for the startup and for deleting the cluster but everything else configuring we're gonna be doing through cube CTL so if you at this point have some problems starting a mini cube cluster you can actually started in a debug mode so you can delete the one that you created using mini cube delete it's gonna delete the whole cluster and you're gonna you can start it in a debug mode so basically the aim driver hyper kit and here you can just add these options so using these options you can see everything that's happening when you execute mini cube start in debug mode and it's also gonna print all the errors that happen in the console so if I execute this so as you see the output is pretty verbose with these options so if you have any trouble starting mini cube cluster you can actually see the detailed output in the console if there is some error okay so the mini cube is running again and let's clear this and all these commands that I executed here I'm gonna put them in a list in the comment section so you can actually copy them thanks for watching the video I hope it was helpful and if it was don't forget to like it this is a video series so I will create a new one every week so if you want to be notified whenever a new video comes out then subscribe to my channel if you have any questions if something wasn't clear in the video please post them in a comment section below and I will try to answer them so thank you and see you in the next video