Minikube : Install2025/01/22 |
Install Minikube to configure Kubernetes Cluster on single node. |
|
[1] |
Install a Hypervisor that is supported by Minikube. |
[2] | |
[3] | Install Minikube and other required tools. |
# install kubectl [root@dlp ~]# snap install kubectl --classic kubectl 1.31.5 from Canonical✓ installed 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 ~]#
[root@dlp ~]# mv minikube docker-machine-driver-kvm2 /usr/local/bin/
minikube version minikube version: v1.35.0 commit: dd5d320e41b5451cdf3c01891bc4e13d189586ed-dirty |
[4] | Add users who use Minikube to [libvirt] group. |
[root@dlp ~]# usermod -aG libvirt cent |
[5] | Start Minikube with a user who are in [libvirt] group. |
[cent@dlp ~]$ minikube start --vm-driver=kvm2 * minikube v1.35.0 on Centos 10 (kvm/amd64) * Using the kvm2 driver based on user configuration * Downloading VM boot image ... > minikube-v1.35.0-amd64.iso....: 65 B / 65 B [---------] 100.00% ? p/s 0s > minikube-v1.35.0-amd64.iso: 345.38 MiB / 345.38 MiB 100.00% 34.16 MiB p * Starting "minikube" primary control-plane node in "minikube" cluster * Downloading Kubernetes v1.32.0 preload ... > preloaded-images-k8s-v18-v1...: 333.57 MiB / 333.57 MiB 100.00% 36.77 M * Creating kvm2 VM (CPUs=2, Memory=3900MB, Disk=20000MB) ...- [ 555.658170] tun: Universal TUN/TAP device driver, 1.6 * Preparing Kubernetes v1.32.0 on Docker 27.4.0 ... - Generating certificates and keys ... - Booting up control plane ... - Configuring RBAC rules ... * 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 # show status [cent@dlp ~]$ minikube status minikube type: Control Plane host: Running kubelet: Running apiserver: Running kubeconfig: Configuredubuntu@dlp:~$ minikube service list |-------------|------------|--------------|-----| | NAMESPACE | NAME | TARGET PORT | URL | |-------------|------------|--------------|-----| | default | kubernetes | No node port | | | kube-system | kube-dns | No node port | | |-------------|------------|--------------|-----|[cent@dlp ~]$ minikube docker-env export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://192.168.39.150:2376" export DOCKER_CERT_PATH="/home/cent/.minikube/certs" export MINIKUBE_ACTIVE_DOCKERD="minikube" # To point your shell to minikube's docker-daemon, run: # eval $(minikube -p minikube docker-env)[cent@dlp ~]$ kubectl cluster-info Kubernetes control plane is running at https://192.168.39.150:8443 CoreDNS is running at https://192.168.39.150:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.[cent@dlp ~]$ kubectl get nodes NAME STATUS ROLES AGE VERSION minikube Ready control-plane 2m27s v1.32.0 # possible to access with SSH to the VM [cent@dlp ~]$ minikube ssh _ _ _ _ ( ) ( ) ___ ___ (_) ___ (_)| |/') _ _ | |_ __ /' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\ | ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/ (_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____)
$
$ hostname minikube docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0cb028c1ba49 c69fa2e9cbf5 "/coredns -conf /etc…" 2 minutes ago Up 2 minutes k8s_coredns_coredns-668d6bf9bc-29lrm_kube-system_84a09d9a-b0f9-4e25-a2fb-beccd03eb0c0_0 9cd527bad825 registry.k8s.io/pause:3.10 "/pause" 2 minutes ago Up 2 minutes k8s_POD_coredns-668d6bf9bc-29lrm_kube-system_84a09d9a-b0f9-4e25-a2fb-beccd03eb0c0_0 bdfbc25d9dfe 6e38f40d628d "/storage-provisioner" 2 minutes ago Up 2 minutes k8s_storage-provisioner_storage-provisioner_kube-system_a1409d01-29b1-47a5-a110-a8c5814372ce_0 4241a6fef1a2 registry.k8s.io/pause:3.10 "/pause" 2 minutes ago Up 2 minutes k8s_POD_storage-provisioner_kube-system_a1409d01-29b1-47a5-a110-a8c5814372ce_0 35506c62b745 040f9f8aac8c "/usr/local/bin/kube…" 2 minutes ago Up 2 minutes k8s_kube-proxy_kube-proxy-g4vlv_kube-system_bf4713be-2282-45a8-b784-118759fd5d4d_0 e04b906b8b28 registry.k8s.io/pause:3.10 "/pause" 2 minutes ago Up 2 minutes k8s_POD_kube-proxy-g4vlv_kube-system_bf4713be-2282-45a8-b784-118759fd5d4d_0 081a645a3383 8cab3d2a8bd0 "kube-controller-man…" 3 minutes ago Up 3 minutes k8s_kube-controller-manager_kube-controller-manager-minikube_kube-system_91d97157d77c4e4e449ef2f1b23a7940_0 72b74c50884d c2e17b8d0f4a "kube-apiserver --ad…" 3 minutes ago Up 3 minutes k8s_kube-apiserver_kube-apiserver-minikube_kube-system_dc0ae44c3c539da675d2293825544271_0 61c9d3a1c1a7 a389e107f4ff "kube-scheduler --au…" 3 minutes ago Up 3 minutes k8s_kube-scheduler_kube-scheduler-minikube_kube-system_d14ce008bee3a1f3bd7cf547688f9dfe_0 89a801312964 a9e7e6b294ba "etcd --advertise-cl…" 3 minutes ago Up 3 minutes k8s_etcd_etcd-minikube_kube-system_015f05895bd706e28a7ccbc1477e363b_0 fa0f7fdb39d4 registry.k8s.io/pause:3.10 "/pause" 3 minutes ago Up 3 minutes k8s_POD_kube-scheduler-minikube_kube-system_d14ce008bee3a1f3bd7cf547688f9dfe_0 9728db292fef registry.k8s.io/pause:3.10 "/pause" 3 minutes ago Up 3 minutes k8s_POD_kube-controller-manager-minikube_kube-system_91d97157d77c4e4e449ef2f1b23a7940_0 0ee8418316d9 registry.k8s.io/pause:3.10 "/pause" 3 minutes ago Up 3 minutes k8s_POD_kube-apiserver-minikube_kube-system_dc0ae44c3c539da675d2293825544271_0 e141f4f8de3b registry.k8s.io/pause:3.10 "/pause" 3 minutes ago Up 3 minutes k8s_POD_etcd-minikube_kube-system_015f05895bd706e28a7ccbc1477e363b_0
$
exit
# stop minikube [cent@dlp ~]$ minikube stop * Stopping node "minikube" ... * 1 nodes stopped. # start minikube [cent@dlp ~]$ minikube start * minikube v1.35.0 on Centos 10 (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" ... * Preparing Kubernetes v1.32.0 on Docker 27.4.0 ... * 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 VM [cent@dlp ~]$ minikube delete * Deleting "minikube" in kvm2 ... * Removed all traces of the "minikube" cluster. |
Sponsored Link |
|