openSUSE Leap 16

Minikube : インストール2025/11/03

 

シングルノードで Kubernetes クラスターを構成可能な Minikube をインストールします。

[1]

仮想マシンを利用するため、Minikube でサポートするハイパーバイザーをインストールしておきます。
当例では こちらの [1] の通り KVM をインストールして進めます

[2]

こちらの [1] を参考に、Snap をインストールしておきます

[3] Minikube と その他 必要なツールをインストールします。
# kubectl インストール

dlp:~ #
snap install kubectl --classic

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

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

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

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

minikube version: v1.37.0
commit: 65318f4cfff9c12cc87ec9eb8f4cdd57b25047f3
dlp:~ #
virsh net-start default
[4] Minikube を利用する任意のユーザーを [libvirt] グループに登録しておきます。
dlp:~ #
usermod -aG libvirt suse

[5] [libvirt] グループに登録した任意のユーザーで Minikube を起動します。
# minikube 起動

suse@dlp:~>
minikube start --vm-driver=kvm2

* minikube v1.37.0 on Opensuse-Leap 16.0 (kvm/amd64)
* Using the kvm2 driver based on user configuration
* Downloading VM boot image ...
    > minikube-v1.37.0-amd64.iso....:  65 B / 65 B [---------] 100.00% ? p/s 0s
    > minikube-v1.37.0-amd64.iso:  370.78 MiB / 370.78 MiB  100.00% 33.13 MiB p
* Starting "minikube" primary control-plane node in "minikube" cluster
* Downloading Kubernetes v1.34.0 preload ...
    > preloaded-images-k8s-v18-v1...:  337.07 MiB / 337.07 MiB  100.00% 35.80 M
* Creating kvm2 VM (CPUs=2, Memory=3900MB, Disk=20000MB) ...
* Preparing Kubernetes v1.34.0 on Docker 28.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

# 状態確認

suse@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 |     |
|-------------|------------|--------------|-----|

suse@dlp:~>
minikube docker-env

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

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

suse@dlp:~>
kubectl cluster-info

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

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

suse@dlp:~>
kubectl get nodes

NAME       STATUS   ROLES           AGE     VERSION
minikube   Ready    control-plane   2m27s   v1.34.0

# 仮想マシンへ SSH アクセス

suse@dlp:~>
minikube ssh

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

$
hostname

minikube
$
docker ps

CONTAINER ID   IMAGE                          COMMAND                  CREATED         STATUS         PORTS     NAMES
3af8e0af55a2   6e38f40d628d                   "/storage-provisioner"   2 minutes ago   Up 2 minutes             k8s_storage-provisioner_storage-provisioner_kube-system_c00f0ed8-3fe6-45d0-8d47-84a3bc792c47_1
5e150ebc6671   52546a367cc9                   "/coredns -conf /etc…"   2 minutes ago   Up 2 minutes             k8s_coredns_coredns-66bc5c9577-gdkk8_kube-system_bfb37867-f001-44b4-9b3d-40b1cc792a6f_0
9335271b3111   registry.k8s.io/pause:3.10.1   "/pause"                 2 minutes ago   Up 2 minutes             k8s_POD_coredns-66bc5c9577-gdkk8_kube-system_bfb37867-f001-44b4-9b3d-40b1cc792a6f_0
074f4686be4e   df0860106674                   "/usr/local/bin/kube…"   2 minutes ago   Up 2 minutes             k8s_kube-proxy_kube-proxy-4rjf4_kube-system_3f7ae059-3355-4978-bc38-3e7d99511ce0_0
8f323b9a52d0   registry.k8s.io/pause:3.10.1   "/pause"                 2 minutes ago   Up 2 minutes             k8s_POD_kube-proxy-4rjf4_kube-system_3f7ae059-3355-4978-bc38-3e7d99511ce0_0
445163a25d4e   registry.k8s.io/pause:3.10.1   "/pause"                 2 minutes ago   Up 2 minutes             k8s_POD_storage-provisioner_kube-system_c00f0ed8-3fe6-45d0-8d47-84a3bc792c47_0
a081269301e7   a0af72f2ec6d                   "kube-controller-man…"   2 minutes ago   Up 2 minutes             k8s_kube-controller-manager_kube-controller-manager-minikube_kube-system_e8825cdc0eb52956a20c4779932dbf93_0
e11f472a7a6f   46169d968e92                   "kube-scheduler --au…"   2 minutes ago   Up 2 minutes             k8s_kube-scheduler_kube-scheduler-minikube_kube-system_dc6cf0a7bcb54d1f95cecc4d7b6b7d67_0
c61cf38e0601   90550c43ad2b                   "kube-apiserver --ad…"   2 minutes ago   Up 2 minutes             k8s_kube-apiserver_kube-apiserver-minikube_kube-system_fb93b5f5ca3cba430e71682d2fe9c3ae_0
fd2ff8fdbaca   5f1f5298c888                   "etcd --advertise-cl…"   2 minutes ago   Up 2 minutes             k8s_etcd_etcd-minikube_kube-system_d79ddd291e07c53331288de5b32407f5_0
f1cb38baad19   registry.k8s.io/pause:3.10.1   "/pause"                 2 minutes ago   Up 2 minutes             k8s_POD_kube-scheduler-minikube_kube-system_dc6cf0a7bcb54d1f95cecc4d7b6b7d67_0
ad2f002889cb   registry.k8s.io/pause:3.10.1   "/pause"                 2 minutes ago   Up 2 minutes             k8s_POD_kube-controller-manager-minikube_kube-system_e8825cdc0eb52956a20c4779932dbf93_0
94aca9b4db8e   registry.k8s.io/pause:3.10.1   "/pause"                 2 minutes ago   Up 2 minutes             k8s_POD_kube-apiserver-minikube_kube-system_fb93b5f5ca3cba430e71682d2fe9c3ae_0
8cfdc669bb11   registry.k8s.io/pause:3.10.1   "/pause"                 2 minutes ago   Up 2 minutes             k8s_POD_etcd-minikube_kube-system_d79ddd291e07c53331288de5b32407f5_0

$
exit
# minikube を停止する場合は以下

suse@dlp:~>
minikube stop

* Stopping node "minikube" ...
* 1 nodes stopped.
# minikube を開始する場合は以下

suse@dlp:~>
minikube start

* minikube v1.37.0 on Opensuse-Leap 16.0 (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.34.0 on Docker 28.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

# minikube 仮想マシンを削除する場合は以下

suse@dlp:~>
minikube delete

* Deleting "minikube" in kvm2 ...
* Removed all traces of the "minikube" cluster.
関連コンテンツ