minikubeとは
ローカルでk8sを動かすためのツールで,主に検証や開発用に使われる.1ノードしか動かすことはできないと言う制約がある.似たようなものにmicrok8sがある.
環境
Ubuntu 18.04
事前準備
BIOSの設定画面からIntel VT-x,他CPUならそれに準ずる機能を有効化する.これをしないとKVMが使えるようにならない.デフォルトで有効か無効かは機種による.
インストール
kvmインストール
ハイパーバイザにはkvmやVirtualboxなどが利用できるが,パフォーマンスの高いkvmを利用する.
$ sudo apt install bridge-utils qemu-kvm virt-manager libvirt-bin libguestfs-tools net-tools
qemu-kvm
をインストールするとKVMが有効化されているか確認できる.
$ kvm-ok INFO: /dev/kvm exists KVM acceleration can be used
グループ設定
$ sudo usermod -aG libvirt $(whoami) $ sudo usermod -aG kvm $(whoami) $ logout
ユーザをlibvirtグループに入れておくとrootしなくてもlibvirtが利用できるようになる.ログインしなおさないとグループ設定が有効にならないので気を付ける.
確認
$ virt-host-validate
表示項目が全てPASS
になっているか確認する.自分の環境ではQEMU: Checking if IOMMU is enabled by kernel
がWARNING
になっていたのでその場合は次項で設定する.
(オプション)カーネル設定
QEMU: Checking if IOMMU is enabled by kernel
がWARNING
になっていた場合はGRUBの設定を変更する.
$ sudo vim /etc/default/grub ... GRUB_CMDLINE_LINUX="intel_iommu=on" ... $ grub-mkconfig -o /boot/grub/grub.cfg # grubの設定を出力してconfigファイルに上書き $ sudo reboot
これでvirt-host-validate
を実行すれば全てPASSになった.
デフォルトのHVを設定
デフォルトをkvmにする
$ minikube config set driver kvm2
実行
$ minikube start
$ minikube status minikube type: Control Plane host: Running kubelet: Running apiserver: Running kubeconfig: Configured