# Minikube and kubectl - Local Kubernetes Cluster

### Minikube - Local Cluster Setup

Minikube is a utility we can use to run Kubernetes (k8s) on our local machine. It creates a single node cluster contained in a virtual machine (VM).

Minikube implements a local K8s cluster&#x20;

Useful for local K8s application development, because running a test cluster would be complex

![](https://2601183865-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8QpIzz6VwCOTMwaqKYa3%2Fuploads%2F2cI0aEqqFaumvjdqdTJj%2Fimage.png?alt=media\&token=19a1a1a7-6c8c-46da-ab24-ea83a0c47958)

{% hint style="info" %}
Control Plane and Worker processes run on **ONE** machine
{% endhint %}

Run Minikube either as a container or virtual machine on your laptop, so we need a container runtime or virtual machine manager on our laptop

### KUBECTL

**The Kubernetes command-line tool**, kubectl, allows us to run commands against Kubernetes clusters. You can use kubectl to deploy applications, inspect and manage cluster resources, and view logs.

{% hint style="info" %} <mark style="color:red;">**API Server**</mark> enables interaction with cluster
{% endhint %}

![](https://2601183865-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8QpIzz6VwCOTMwaqKYa3%2Fuploads%2FCcfF62rBo3w2IlsBYglN%2Fimage.png?alt=media\&token=0857289a-a7d2-4e3e-b2dd-940e35986e1a)

### Installing Minikube

```
OMLF4D4887B80A5:~ aahmadov$ brew install --build-from-source hyperkit
```
