使用Minikube和KVM搭建本地测试环境
Dec 28, 2018
KVM
指的是基于Linux内核的虚拟机(Kernel-based Virtual Machine)。但其实,KVM
是Linux内核中的一个提供虚拟化支持的模块。
Prerequisites
基于KVM
安装MiniKube
需要安装以下列出的依赖,用以和KVM
中的虚拟化接口进行数据交换。
- Docker Machine: 一个管理工具,用来管理安装了
Docker Engine
的虚拟机,支持AWS, OpenStack, KVM/Libvirt, VMWARE Fusion, VirtualBox.这里被用来wrapMinikube
. - Docker Machine KVM2 Driver:
Minikube
与KVM
连接所需的驱动程序。 - Libvirt: 提供虚拟化管理所需的API库(如存储,网络接口等)。
- QEMU: Hypervisor
- Minikube: 单节点的
Kubernetes
集群。 - KubeCtl:
Kubernetes
集群管理工具
Environment
- OS: Linux-4.19.12-2
- Minikube: v0.32.0
- docker-machine-driver-kvm2: 0.30.0-1
安装libvirt和QEMU
Libvirt
和QEMU
是KVM
虚拟机得以运行的基础,另外还需要为NAT/DHCP
安装所需的网络模块,否则Minikube
无法运行。这里所安装的QEMU
是不包含GUI的版本,如果需要可以替换QEMU-headless
为QEMU
.
pacman -Sy libvirt QEMU-headless ebtables dnsmasq |
装好软件,启动libvirtd
和virtlogd
:
systemctl enable libvirtd.service && systemctl start libvirtd.service |
安装Docker-machine
pacman -Sy docker-machine |
安装Minikube和KubeCtl
在Archlinux
中安装Minikube
和KubeCtl
很简单,用yaourt
安装AUR
库中的minikube-bin
和kubectl-bin
即可,还会安装minikube
和kubectl
的shell
自动补齐,所以更推荐这种安装方式。
yaourt -Sy minikube-bin kubectl-bin |
安装KVM2驱动
pacman -Sy docker-machine-driver-kvm2 |
启动Minikube
minikube start --vm-driver kvm2 |
更改代理设置
因为墙的原因,需要设置代理才能下载Minikube
插件,让Minikube
正常运行。
修改Minikube
配置。
echo ' |
重新启动Minikube
后设置生效。