使用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后设置生效。
