Ubuntu 20.04
Sponsored Link

Minikube : Install2020/08/05

 
Install Minikube to configure Kubernetes Cluster on single node.
[1] Install a Hypervisor first that is supported by Minikube.
On this example, Install KVM.
For other Hypervisors, it's possible to use VirtualBox, VMware Fusion, HyperKit.
Also it's possible to configure Kubernetes Cluster without any Hypervisor, then refer to the next page.
root@dlp:~#
apt -y install qemu-kvm libvirt-daemon-system libvirt-daemon bridge-utils
[2] Install Minikube and other required tools.
# install kubectl

root@dlp:~#
snap install kubectl --classic

kubectl 1.18.6 from Canonical installed
root@dlp:~#
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 -O minikube

root@dlp:~#
wget https://storage.googleapis.com/minikube/releases/latest/docker-machine-driver-kvm2

root@dlp:~#
chmod 755 minikube docker-machine-driver-kvm2

root@dlp:~#
mv minikube docker-machine-driver-kvm2 /usr/local/bin/
root@dlp:~#
minikube version

minikube version: v1.12.1
commit: 5664228288552de9f3a446ea4f51c6f29bbdd0e0-dirty
[3] Start Minikube with a common user.
ubuntu@dlp:~$
minikube start --vm-driver=kvm2

* minikube v1.12.1 on Ubuntu 20.04
* Using the kvm2 driver based on user configuration
* Downloading VM boot image ...
    > minikube-v1.12.0.iso.sha256: 65 B / 65 B [-------------] 100.00% ? p/s 0s
    > minikube-v1.12.0.iso: 173.57 MiB / 173.57 MiB [] 100.00% 46.88 MiB p/s 3s
* Starting control plane node minikube in cluster minikube
* Downloading Kubernetes v1.18.3 preload ...
    > preloaded-images-k8s-v4-v1.18.3-docker-overlay2-amd64.tar.lz4: 526.27 MiB
* Creating kvm2 VM (CPUs=2, Memory=2900MB, Disk=20000MB) ...
* Preparing Kubernetes v1.18.3 on Docker 19.03.12 ...
* Verifying Kubernetes components...
* Enabled addons: default-storageclass, storage-provisioner
* Done! kubectl is now configured to use "minikube"

# show status

ubuntu@dlp:~$
minikube status

minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
ubuntu@dlp:~$
minikube service list

|-------------|------------|--------------|-----|
|  NAMESPACE  |    NAME    | TARGET PORT  | URL |
|-------------|------------|--------------|-----|
| default     | kubernetes | No node port |
| kube-system | kube-dns   | No node port |
|-------------|------------|--------------|-----|

ubuntu@dlp:~$
minikube docker-env

export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.39.80:2376"
export DOCKER_CERT_PATH="/home/ubuntu/.minikube/certs"
export MINIKUBE_ACTIVE_DOCKERD="minikube"

# To point your shell to minikube's docker-daemon, run:
# eval $(minikube -p minikube docker-env)

ubuntu@dlp:~$
kubectl cluster-info

Kubernetes master is running at https://192.168.39.80:8443
KubeDNS is running at https://192.168.39.80:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

ubuntu@dlp:~$
kubectl get nodes

NAME       STATUS   ROLES    AGE     VERSION
minikube   Ready    master   2m17s   v1.18.3

# a VM [minikube] is just running

ubuntu@dlp:~$
virsh list

 Id   Name       State
--------------------------
 1    minikube   running

# possible to access with SSH to the VM

ubuntu@dlp:~$
minikube ssh

                         _             _
            _         _ ( )           ( )
  ___ ___  (_)  ___  (_)| |/')  _   _ | |_      __
/' _ ` _ `\| |/' _ `\| || , <  ( ) ( )| '_`\  /'__`\
| ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )(  ___/
(_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____)

$
hostname

minikube
$
docker ps

CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS              PORTS               NAMES
1c5aee338690        4689081edb10           "/storage-provisioner"   2 minutes ago       Up 2 minutes                            k8s_storage-provisioner_storage-provisioner_kube-system_77ed9083-d466-4b02-a695-7a11824e1d27_0
25eb2594fc76        k8s.gcr.io/pause:3.2   "/pause"                 2 minutes ago       Up 2 minutes                            k8s_POD_storage-provisioner_kube-system_77ed9083-d466-4b02-a695-7a11824e1d27_0
6e544344ef92        67da37a9a360           "/coredns -conf /etc…"   2 minutes ago       Up 2 minutes                            k8s_coredns_coredns-66bff467f8-wmj9f_kube-system_4a02a39c-778f-4d93-87da-8ef7e809db43_0
ec1f4b2a5655        k8s.gcr.io/pause:3.2   "/pause"                 2 minutes ago       Up 2 minutes                            k8s_POD_coredns-66bff467f8-wmj9f_kube-system_4a02a39c-778f-4d93-87da-8ef7e809db43_0
b082710f8612        3439b7546f29           "/usr/local/bin/kube…"   2 minutes ago       Up 2 minutes                            k8s_kube-proxy_kube-proxy-cj5mk_kube-system_39670b01-b375-44f5-8b43-a01b455ce3cd_0
79a17ee8836e        k8s.gcr.io/pause:3.2   "/pause"                 2 minutes ago       Up 2 minutes                            k8s_POD_kube-proxy-cj5mk_kube-system_39670b01-b375-44f5-8b43-a01b455ce3cd_0
5a59f1697877        303ce5db0e90           "etcd --advertise-cl…"   3 minutes ago       Up 3 minutes                            k8s_etcd_etcd-minikube_kube-system_3ed97ae4e9a452c90b0e8dc4b54ce717_0
6647edb3679d        7e28efa976bd           "kube-apiserver --ad…"   3 minutes ago       Up 3 minutes                            k8s_kube-apiserver_kube-apiserver-minikube_kube-system_a571f357d1dc95a53069cd324d44eabe_0
7a367e3f91bd        da26705ccb4b           "kube-controller-man…"   3 minutes ago       Up 3 minutes                            k8s_kube-controller-manager_kube-controller-manager-minikube_kube-system_ba963bc1bff8609dc4fc4d359349c120_0
3837d24e174d        76216c34ed0c           "kube-scheduler --au…"   3 minutes ago       Up 3 minutes                            k8s_kube-scheduler_kube-scheduler-minikube_kube-system_dcddbd0cc8c89e2cbf4de5d3cca8769f_0
5135b9fcc194        k8s.gcr.io/pause:3.2   "/pause"                 3 minutes ago       Up 3 minutes                            k8s_POD_kube-scheduler-minikube_kube-system_dcddbd0cc8c89e2cbf4de5d3cca8769f_0
adf2c5388b04        k8s.gcr.io/pause:3.2   "/pause"                 3 minutes ago       Up 3 minutes                            k8s_POD_kube-controller-manager-minikube_kube-system_ba963bc1bff8609dc4fc4d359349c120_0
0e0a6efd9e7a        k8s.gcr.io/pause:3.2   "/pause"                 3 minutes ago       Up 3 minutes                            k8s_POD_kube-apiserver-minikube_kube-system_a571f357d1dc95a53069cd324d44eabe_0
411e9ff0a85e        k8s.gcr.io/pause:3.2   "/pause"                 3 minutes ago       Up 3 minutes                            k8s_POD_etcd-minikube_kube-system_3ed97ae4e9a452c90b0e8dc4b54ce717_0

$
exit
# stop minikube

ubuntu@dlp:~$
minikube stop

* Stopping "minikube" in kvm2 ...
* Node "minikube" stopped.
# start minikube

ubuntu@dlp:~$
minikube start

* minikube v1.12.1 on Ubuntu 20.04
* Using the kvm2 driver based on existing profile
* Starting control plane node minikube in cluster minikube
* Restarting existing kvm2 VM for "minikube" ...
* Preparing Kubernetes v1.18.3 on Docker 19.03.12 ...
* Verifying Kubernetes components...
* Enabled addons: default-storageclass, storage-provisioner
* Done! kubectl is now configured to use "minikube"
# remove minikube

ubuntu@dlp:~$
minikube delete

Deleting local Kubernetes cluster...
Machine deleted.
ubuntu@dlp:~$
virsh list --all

 Id   Name       State
--------------------------

Matched Content