Install Kubernetes using Minikube on Arch Linux
Tags: firstpost, kubernetes, minikube, archlinux
Published: 2021-06-04 01:47:06

First of all, let me introduce some concepts about these technologies.


##What is Arch Linux?
![Archlinux](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0nc1b7j97sxyntlq5nlp.png)

It's a versatile and flexible Gnu/Linux distribution,  focused on minimalism and simplicity. In my opinion the most important feature of this distro it's called Rolling Release, this will allow you to have the most recent version of your apps. For more info go to the [Arch Linux Homepage](https://archlinux.org/).



##What is Docker?
![Docker](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8dxrgq4sg9ovtz1vwbgz.png)

It's a virtualization platform to deliver software as packages called containers. Containers can communicate with other containers through channels. This tool can be used to simulate the production server configs in your local machine.. More info in [Docker homepage](https://www.docker.com/).



##What is Kubernetes?
![Kubernetes](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/30v55z75gjcjdcf56ud6.png)

[Kubernetes](https://kubernetes.io/) is an open source software for automating the deployment, scaling and handling of containerized applications. It works with a large list of container tools such as [Docker](https://www.docker.com/), [Podman](https://podman.io/), etc. This software is commonly used as **Platform As A Service (PAAS)** and **Software As A Service (SAAS)** in cloud computing. More info in [Kubernetes Homepage](https://kubernetes.io/)

##What is Minikube?
![Minikube](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/55zobj7rlnibd1ain36z.png)

It's a tool for setup your local [kubernetes](https://kubernetes.io/) cluster, it's multiplatform and opensoure, more info in [Minikube Homepage](https://minikube.sigs.k8s.io/).

Let's get started.

Sync the database and update dependencies [It's not really necessary, but why not?]
```bash
[wilo@developer ~]$ sudo pacman -Syyu
```

Install minikube, and other dependencies
```bash
[wilo@developer ~]$ sudo pacman -S kubectl minikube libvirt qemu dnsmasq ebtables dmidecode
```
Additionally we assing the current user to the **libvirt** group
```bash
[wilo@developer ~]$ sudo usermod -aG libvirt $(whoami)
```

If you want to the **libvirt** service loads when you start your OS.
```bash
[wilo@developer ~]$ sudo systemctl enable libvirtd
```

Now we start the **libvirt** service.
```bash
[wilo@developer ~]$ sudo systemctl start libvirtd
```
Once started the service, we check the status if everything it's ok.

```bash
[wilo@developer ~]$ sudo systemctl status libvirtd
```
And you see the status like this.

![Libvirt status](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r6ehup8a0msyml549tp4.png)

Well..., Then we set the Kvm2 provider in minikube
```bash
[wilo@developer ~]$ minikube config set driver kvm2
```

And finally start it.
```bash
[wilo@developer ~]$ minikube start
```
![Minikube started](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gn7d60fq02elwd2lmpyj.png)

Now, we probe a some kubernetes commands on our terminal using **kubectl**.

![Kubectl command](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wikn0ufos4qh35bzcwqe.png)

And yeap! the installation process was successfully!, congrats! 🎉.