Bootstrap FreeKB - Kubernetes - Getting Started with minikube on Linux
Kubernetes - Getting Started with minikube on Linux

Updated:   |  Kubernetes articles

Minikube requires at least 2 MiB of free memory. The free command can be used to list the amount of available memory.

~]$ free -h
               total        used        free      shared  buff/cache   available
Mem:           1.9Gi       410Mi       959Mi       6.0Mi       532Mi       1.3Gi
Swap:             0B          0B          0B

 

You must also have Docker installed on your Linux system.

 

cURL can be used to download the minikube installer.

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

 

And then install the minikube CLI into the /usr/local/bin directory.

sudo install minikube-linux-amd64 /usr/local/bin/minikube

 

Ensure your user is a member of the group named docker so that you can run docker commands without having to use sudo.

sudo usermod -aG docker $USER

 

And ensure you are now a member of the docker group.

~]$ groups
ec2-user docker

 

Use the minikube CLI to start minikube.

minikube start

 

If minikube is successfully started, the following should be displayed at the end of the minkube start command output.

* Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

 

This will pull down the gcr.io/k8s-minikube/kicbase Docker image.

~]$ sudo docker images
REPOSITORY                               TAG             IMAGE ID       CREATED         SIZE
gcr.io/k8s-minikube/kicbase              v0.0.48         c6b5532e987b   2 months ago    1.31GB

 

This will create a Docker container named minikube.

~]$ sudo docker container ls
CONTAINER ID   IMAGE                                                                           COMMAND                  CREATED        STATUS         PORTS                                                                                                                                  NAMES
0eec5fb0cb0b   gcr.io/k8s-minikube/kicbase:v0.0.48                                             "/usr/local/bin/entr…"   2 hours ago    Up 3 minutes   127.0.0.1:32772->22/tcp, 127.0.0.1:32771->2376/tcp, 127.0.0.1:32770->5000/tcp, 127.0.0.1:32769->8443/tcp, 127.0.0.1:32768->32443/tcp   minikube

 

There should be a few pods, services, a daemonset, a deployment, and a replicaset running in the kube-system namespace.

~]$ minikube kubectl -- get all --all-namespaces
NAMESPACE     NAME                                   READY   STATUS    RESTARTS       AGE
kube-system   pod/coredns-66bc5c9577-rrsmm           1/1     Running   0              8m35s
kube-system   pod/etcd-minikube                      1/1     Running   0              8m40s
kube-system   pod/kube-apiserver-minikube            1/1     Running   0              8m40s
kube-system   pod/kube-controller-manager-minikube   1/1     Running   0              8m40s
kube-system   pod/kube-proxy-k9xw8                   1/1     Running   0              8m36s
kube-system   pod/kube-scheduler-minikube            1/1     Running   0              8m40s
kube-system   pod/storage-provisioner                1/1     Running   1 (8m5s ago)   8m38s

NAMESPACE     NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                  AGE
default       service/kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP                  8m42s
kube-system   service/kube-dns     ClusterIP   10.96.0.10   <none>        53/UDP,53/TCP,9153/TCP   8m41s

NAMESPACE     NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
kube-system   daemonset.apps/kube-proxy   1         1         1       1            1           kubernetes.io/os=linux   8m41s

NAMESPACE     NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
kube-system   deployment.apps/coredns   1/1     1            1           8m41s

NAMESPACE     NAME                                 DESIRED   CURRENT   READY   AGE
kube-system   replicaset.apps/coredns-66bc5c9577   1         1         1       8m36s

 

And a control plane node.

~]$ minikube kubectl -- get nodes --all-namespaces
NAME       STATUS   ROLES           AGE     VERSION
minikube   Ready    control-plane   9m57s   v1.34.0

 

Next you will almost always want to start using the minikube web browser console. The following command can be used to return the minikube dashboard URL.

~]$ minikube dashboard --url
* Verifying dashboard health ...
* Launching proxy ...
* Verifying proxy health ...
http://127.0.0.1:36023/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

 

 




Did you find this article helpful?

If so, consider buying me a coffee over at Buy Me A Coffee



Comments


Add a Comment


Please enter 4e565f in the box below so that we can be sure you are a human.