Debian 12 bookworm
Sponsored Link

Minikube : Install2023/06/21

 
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.
[2]
[3] Install Minikube and other required tools.
# install kubectl

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

kubectl 1.27.3 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.30.1
commit: 08896fd1dc362c097c925146c4a0d0dac715ace0

if use by common users, add them to [libvirt] group

root@dlp:~#
usermod -aG libvirt debian

[4] Start Minikube with a common user.
debian@dlp:~$
minikube start --vm-driver=kvm2

* minikube v1.30.1 on Debian 12.0 (kvm/amd64)
* Using the kvm2 driver based on user configuration
* Downloading VM boot image ...
    > minikube-v1.30.1-amd64.iso....:  65 B / 65 B [---------] 100.00% ? p/s 0s
    > minikube-v1.30.1-amd64.iso:  282.84 MiB / 282.84 MiB  100.00% 34.15 MiB p
* Starting control plane node minikube in cluster minikube
* Downloading Kubernetes v1.26.3 preload ...
    > preloaded-images-k8s-v18-v1...:  397.02 MiB / 397.02 MiB  100.00% 38.09 M
* Creating kvm2 VM (CPUs=2, Memory=3900MB, Disk=20000MB) ...
* Preparing Kubernetes v1.26.3 on Docker 20.10.23 ...
  - Generating certificates and keys ...
  - Booting up control plane ...
  - Configuring RBAC rules ...
* Configuring bridge CNI (Container Networking Interface) ...
  - Using image gcr.io/k8s-minikube/storage-provisioner:v5
* Verifying Kubernetes components...
* Enabled addons: storage-provisioner, default-storageclass
* Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

# show status

debian@dlp:~$
minikube status

minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

debian@dlp:~$
minikube service list

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

debian@dlp:~$
minikube docker-env

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

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

debian@dlp:~$
kubectl cluster-info

Kubernetes control plane is running at https://192.168.39.42:8443
CoreDNS is running at https://192.168.39.42:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

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

debian@dlp:~$
kubectl get nodes

NAME       STATUS   ROLES           AGE    VERSION
minikube   Ready    control-plane   2m4s   v1.26.3

# a VM [minikube] is just running

debian@dlp:~$
sudo virsh list

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

# possible to access with SSH to the VM

debian@dlp:~$
minikube ssh

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

$
hostname

minikube
$
docker ps

CONTAINER ID   IMAGE                       COMMAND                  CREATED         STATUS         PORTS     NAMES
4582fb53b223   5185b96f0bec                "/coredns -conf /etc…"   2 minutes ago   Up 2 minutes             k8s_coredns_coredns-787d4945fb-fhlnr_kube-system_ea777e06-da13-4c0c-809a-90409f888259_0
9193904e839f   registry.k8s.io/pause:3.9   "/pause"                 2 minutes ago   Up 2 minutes             k8s_POD_coredns-787d4945fb-fhlnr_kube-system_ea777e06-da13-4c0c-809a-90409f888259_0
d5444e4911d2   6e38f40d628d                "/storage-provisioner"   2 minutes ago   Up 2 minutes             k8s_storage-provisioner_storage-provisioner_kube-system_c11506ec-72e9-42f0-b87a-7adc5bc77e71_0
d528456e7ab1   92ed2bec97a6                "/usr/local/bin/kube…"   2 minutes ago   Up 2 minutes             k8s_kube-proxy_kube-proxy-mzds8_kube-system_80754b13-0d66-422a-b7e4-f584b0d66745_0
5c0cca8c1af4   registry.k8s.io/pause:3.9   "/pause"                 2 minutes ago   Up 2 minutes             k8s_POD_storage-provisioner_kube-system_c11506ec-72e9-42f0-b87a-7adc5bc77e71_0
3b350e970332   registry.k8s.io/pause:3.9   "/pause"                 2 minutes ago   Up 2 minutes             k8s_POD_kube-proxy-mzds8_kube-system_80754b13-0d66-422a-b7e4-f584b0d66745_0
209a2934c18d   fce326961ae2                "etcd --advertise-cl…"   3 minutes ago   Up 3 minutes             k8s_etcd_etcd-minikube_kube-system_284d33246f81afe3f4e224f449e64f2e_0
eeacd6c4ea58   ce8c2293ef09                "kube-controller-man…"   3 minutes ago   Up 3 minutes             k8s_kube-controller-manager_kube-controller-manager-minikube_kube-system_52fd999db5ff4014b83a4ad42c06b3b5_0
725040ce437a   5a7904736932                "kube-scheduler --au…"   3 minutes ago   Up 3 minutes             k8s_kube-scheduler_kube-scheduler-minikube_kube-system_0818f4b1a57de9c3f9c82667e7fcc870_0
6d75deeb2913   1d9b3cbae03c                "kube-apiserver --ad…"   3 minutes ago   Up 3 minutes             k8s_kube-apiserver_kube-apiserver-minikube_kube-system_c8fb1e120f04ba61cb934126a250b35e_0
0a46ac1ae435   registry.k8s.io/pause:3.9   "/pause"                 3 minutes ago   Up 3 minutes             k8s_POD_kube-scheduler-minikube_kube-system_0818f4b1a57de9c3f9c82667e7fcc870_0
927f5e751723   registry.k8s.io/pause:3.9   "/pause"                 3 minutes ago   Up 3 minutes             k8s_POD_kube-controller-manager-minikube_kube-system_52fd999db5ff4014b83a4ad42c06b3b5_0
20789a32cef2   registry.k8s.io/pause:3.9   "/pause"                 3 minutes ago   Up 3 minutes             k8s_POD_kube-apiserver-minikube_kube-system_c8fb1e120f04ba61cb934126a250b35e_0
ecbfd3d6ce06   registry.k8s.io/pause:3.9   "/pause"                 3 minutes ago   Up 3 minutes             k8s_POD_etcd-minikube_kube-system_284d33246f81afe3f4e224f449e64f2e_0

$
exit
# stop minikube

debian@dlp:~$
minikube stop

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

debian@dlp:~$
minikube start

* minikube v1.30.1 on Debian 12.0 (kvm/amd64)
* 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.26.3 on Docker 20.10.23 ...
* Configuring bridge CNI (Container Networking Interface) ...
* Verifying Kubernetes components...
  - Using image gcr.io/k8s-minikube/storage-provisioner:v5
* Enabled addons: storage-provisioner, default-storageclass
* Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

# remove minikube

debian@dlp:~$
minikube delete

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

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

Matched Content