Installation Of Minikube on AWS ubuntu 20.04

We will be exploring how to install minikube in AWS ubuntu 20.04. Before that, we need to understand what is minikube and what it does.

Minikube is a tool that allows us to run a single-node Kubernetes cluster locally on the machine. It is designed to be used for development and testing purposes and is not intended for production use. It allows developers to test their applications in a local Kubernetes environment, without the need for a separate starting or testing environment. This can be especially useful for testing applications that are designed to run on a Kubernetes cluster, as it allows developers to see how the application behaves in a real Kubernetes environment.

To install the Minkube follow the given steps:

  1. Log in to AWS and select Ubuntu 20.04 with t2.medium because we should have at least 2vCPU and 4GB RAM.

  2. Update the package manager index

sudo apt-get update
  1. Install Docker, which is required for Minikube
sudo apt-get install -y docker.io
  1. Install Conntrack
sudo apt-get install conntrack
  1. Install kubectl, the command-line interface for Kubernetes
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list

sudo apt-get update
sudo apt-get install -y kubectl

Alternatively, we can download and install kubectl using

curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl

sudo mv ./kubectl /usr/local/bin/kubectl
  1. Download the Minikube binary
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
  1. Make the Minikube binary executable
chmod +x minikube
  1. Move the Minikube binary to a directory in your PATH
sudo mv minikube /usr/local/bin
  1. If you want to run Minikube by creating a virtual machine then you can install the VirtualBox driver for Minikube. It is optional.
sudo apt-get install -y virtualbox
  1. Install cri-dockerd if you are using docker as a container runtime
git clone https://github.com/Mirantis/cri-dockerd.git
sudo su
wget https://storage.googleapis.com/golang/getgo/installer_linux
chmod +x ./installer_linux
./installer_linux
source ~/.bash_profile
cd cri-dockerd

mkdir bin

go build -o bin/cri-dockerd

mkdir -p /usr/local/bin

install -o root -g root -m 0755 bin/cri-dockerd /usr/local/bin/cri-dockerd

cp -a packaging/systemd/* /etc/systemd/system

sed -i -e 's,/usr/bin/cri-dockerd,/usr/local/bin/cri-dockerd,' /etc/systemd/system/cri-docker.service

systemctl daemon-reload

systemctl enable cri-docker.service

systemctl enable --now cri-docker.socket
  1. Install crictl
curl -LO https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.26.0/crictl-v1.26.0-linux-amd64.tar.gz

tar zxvf crictl-v1.26.0-linux-amd64.tar.gz
sudo mv crictl /usr/local/bin/
  1. Start Minikube(Without Virtual Machine)
minikube start –-vm-driver=none
  1. Apply CNI
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
  1. Start Minikube (With Virtual Machine)
minikube start –-vm-driver=virtualbox
kubectl get pods