Ubuntu 26.04

Minikube : Install2026/05/07

 

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]

Run Snapd, refer to here.

[3] Install Minikube and other required tools.
# install kubectl

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

kubectl 1.35.4 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.38.1
commit: c93a4cb9311efc66b90d33ea03f75f2c4120e9b0
[4] Start Minikube with a common user.
ubuntu@dlp:~$
minikube start --vm-driver=kvm2

* minikube v1.38.1 on Ubuntu 26.04 (kvm/amd64)
* Using the kvm2 driver based on user configuration
! Starting v1.39.0, minikube will default to "containerd" container runtime. See #21973 for more info.
* Downloading VM boot image ...
    > minikube-v1.38.0-amd64.iso....:  65 B / 65 B [---------] 100.00% ? p/s 0s
    > minikube-v1.38.0-amd64.iso:  370.55 MiB / 370.55 MiB  100.00% 33.72 MiB p
* Starting "minikube" primary control-plane node in "minikube" cluster
* Downloading Kubernetes v1.35.1 preload ...
    > preloaded-images-k8s-v18-v1...:  272.45 MiB / 272.45 MiB  100.00% 33.68 M
* Creating kvm2 VM (CPUs=2, Memory=3800MB, Disk=20000MB) ...
* Preparing Kubernetes v1.35.1 on Docker 28.5.2 ...
* 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


# 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.239: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 control plane is running at https://192.168.39.239:8443
CoreDNS is running at https://192.168.39.239: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    control-plane   97s   v1.35.1

# 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
961a97a20b0e   6e38f40d628d                   "/storage-provisioner"   About a minute ago   Up About a minute             k8s_storage-provisioner_storage-provisioner_kube-system_09e6ad9d-b419-44ad-98ff-942f4b8feaf8_1
c753b94229db   aa5e3ebc0dfe                   "/coredns -conf /etc…"   About a minute ago   Up About a minute             k8s_coredns_coredns-7d764666f9-gxl2g_kube-system_ac861c9e-182a-4113-b210-a0cfd7eea559_0
b7cb1f09441a   6521110cdb01                   "/usr/local/bin/kube…"   About a minute ago   Up About a minute             k8s_kube-proxy_kube-proxy-tlz82_kube-system_b54a9753-6f47-4ead-9d03-8c24ffe877cd_0
a43813461d6f   registry.k8s.io/pause:3.10.1   "/pause"                 About a minute ago   Up About a minute             k8s_POD_coredns-7d764666f9-gxl2g_kube-system_ac861c9e-182a-4113-b210-a0cfd7eea559_0
ba1688842f3d   registry.k8s.io/pause:3.10.1   "/pause"                 About a minute ago   Up About a minute             k8s_POD_kube-proxy-tlz82_kube-system_b54a9753-6f47-4ead-9d03-8c24ffe877cd_0
f0678d0ea0c1   registry.k8s.io/pause:3.10.1   "/pause"                 2 minutes ago        Up 2 minutes                  k8s_POD_storage-provisioner_kube-system_09e6ad9d-b419-44ad-98ff-942f4b8feaf8_0
5a6bde49452e   5f2a969bc7a4                   "kube-scheduler --au…"   2 minutes ago        Up 2 minutes                  k8s_kube-scheduler_kube-scheduler-minikube_kube-system_1c7123a121598343200ffd5b015ca580_0
8b2ead74db9e   6f9eeb0cff98                   "kube-apiserver --ad…"   2 minutes ago        Up 2 minutes                  k8s_kube-apiserver_kube-apiserver-minikube_kube-system_15d03e785f6543028c989e7012e251f4_0
8b7d07980bba   8d7002962c48                   "kube-controller-man…"   2 minutes ago        Up 2 minutes                  k8s_kube-controller-manager_kube-controller-manager-minikube_kube-system_a559e93541cf87cd7d0444b984da788a_0
14d3625a9702   0a108f718956                   "etcd --advertise-cl…"   2 minutes ago        Up 2 minutes                  k8s_etcd_etcd-minikube_kube-system_4fe6ced5f0984aa0111197f94b771df7_0
8b61f965f72e   registry.k8s.io/pause:3.10.1   "/pause"                 2 minutes ago        Up 2 minutes                  k8s_POD_kube-scheduler-minikube_kube-system_1c7123a121598343200ffd5b015ca580_0
bffce5fd4889   registry.k8s.io/pause:3.10.1   "/pause"                 2 minutes ago        Up 2 minutes                  k8s_POD_kube-controller-manager-minikube_kube-system_a559e93541cf87cd7d0444b984da788a_0
3ab8165b37e8   registry.k8s.io/pause:3.10.1   "/pause"                 2 minutes ago        Up 2 minutes                  k8s_POD_kube-apiserver-minikube_kube-system_15d03e785f6543028c989e7012e251f4_0
8a1bfa312451   registry.k8s.io/pause:3.10.1   "/pause"                 2 minutes ago        Up 2 minutes                  k8s_POD_etcd-minikube_kube-system_4fe6ced5f0984aa0111197f94b771df7_0

$
exit
# stop minikube

ubuntu@dlp:~$
minikube stop

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

ubuntu@dlp:~$
minikube start

* minikube v1.38.1 on Ubuntu 26.04 (kvm/amd64)
* Using the kvm2 driver based on existing profile
* Starting "minikube" primary control-plane node in "minikube" cluster
* Restarting existing kvm2 VM for "minikube" ...
! Failing to connect to https://registry.k8s.io/ from inside the minikube VM
* To pull new external images, you may need to configure a proxy: https://minikube.sigs.k8s.io/docs/reference/networking/proxy/
* Preparing Kubernetes v1.35.1 on Docker 28.5.2 ...
* Configuring bridge CNI (Container Networking Interface) ...
* Verifying Kubernetes components...
  - Using image gcr.io/k8s-minikube/storage-provisioner:v5
* Enabled addons: default-storageclass, storage-provisioner
* Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

# remove minikube

ubuntu@dlp:~$
minikube delete

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

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

Matched Content