系统是否支持虚拟化
计算机必须在BIOS中启用VT-x 或AMD-v虚拟化功能。我们可以通过执行如下命令检查系统是否支持虚拟化,命令如下:
Mac
sysctl -a | grep -E --color 'machdep.cpu.features|VMX'
如果您在输出中看到VMX
(彩色标记),则说明Mac系统已支持虚拟化功能。
Linux
grep -E --color 'vmx|svm' /proc/cpuinfo
检查Linux是否支持虚拟化,执行如上命令后如果有高亮显示的内容则说明环境符合要求。
Windows
systeminfo
如果看到以下输出,则说明Windows支持虚拟化。
Hyper-V Requirements: VM Monitor Mode Extensions: Yes
Virtualization Enabled In Firmware: Yes
Second Level Address Translation: Yes
Data Execution Prevention Available: Yes
如果看到以下输出,则说明您的系统已经安装了系统管理程序,可以跳过下一步。
Hyper-V Requirements: A hypervisor has been detected. Features required for Hyper-V will not be displayed.
1. 安装Minikube可执行程序
Mac
~ » brew install minikube
我们还可能会遇到如下错误提示:
Error: The following directories are not writable by your user:
/usr/local/share/man/man7
You should change the ownership of these directories to your user.
sudo chown -R $(whoami) /usr/local/share/man/man7
And make sure that your user has write permission.
chmod u+w /usr/local/share/man/man7
或者
直接通过下载Minikube二进制文件进行安装:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 \
&& chmod +x minikube
下载完后将minikube拷贝或者移动到系统可执行文件夹中
sudo mv minikube /usr/local/bin
Linux
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
Windows
从 https://storage.googleapis.com/minikube/releases/latest/minikube-windows-amd64.exe 下载重命名成minikube.exe
,然后把这个文件的目录路径添加到系统环境变量PATH
里。
安装完以后,我们可以通过minikube version
查看minikube的版本
~ » minikube version
minikube version: v1.6.2
commit: 54f28ac5d3a815d1196cd5d57d707439ee4bb392
2.安装kubectl
参考官方文档: https://kubernetes.io/docs/tasks/tools/install-kubectl/
Mac
~ » curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl"
~ » chmod +x ./kubectl
~ » sudo mv ./kubectl /usr/local/bin/kubectl
Linux
$ curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
$ chmod +x ./kubectl
$ sudo mv ./kubectl /usr/local/bin/kubectl
Windows
下载exe安装文件: https://storage.googleapis.com/kubernetes-release/release/v1.17.0/bin/windows/amd64/kubectl.exe
然后添加到系统的PATH
环境变量中。安装完以后可以通过执行kubectl version检查是否安装成功:
~ » kubectl version
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:20:10Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"darwin/amd64"}
The connection to the server localhost:8080 was refused - did you specify the right host or port?
从输出结果我们可以看到它有一个错误提示The connection to the server localhost:8080 was refused - did you specify the right host or port?
,这个可以暂时忽略,由于我们还没有创建Kubernetes节点,连不上api server
导致。
3.安装虚拟机
因为Minikube创建Kubernetes虚机是通过创建虚拟机来实现的(VirtualBox 、 VMware Fusion、 HyperKit、 KVM、Hyper-V等),所以在使用之前,要在我们的系统中安装虚拟机,我这里安装的是Virtualbox: https://www.virtualbox.org/wiki/Downloads, 根据自己的操作系统下载安装即可。
4. 确认环境是否安装成功
为了要确认hypervisor和Minikube均已成功安装,我们可以通过在本地创建Kubernetes集群环境进行验证。通过命令 minikube start --vm-driver=<driver_name>
去创建,这里的<driver_name>
如果不指定,默认会使用hyperkit
虚机驱动,最好指定自己已安装的虚机驱动(驱动类型可以为:virtualbox,vmwarefusion,kvm2,hyperkit,hyperv,vmware,none
),如果不指定默认使用hyperkit。如下为我使用virtualbox创建环境:
~ » minikube start --vm-driver=virtualbox
😄 minikube v1.6.2 on Darwin 10.15.2
✨ Selecting 'virtualbox' driver from user configuration (alternates: [hyperkit vmwarefusion])
💿 Downloading VM boot image ...
> minikube-v1.6.0.iso.sha256: 65 B / 65 B [--------------] 100.00% ? p/s 0s
> minikube-v1.6.0.iso: 939.00 KiB / 150.93 MiB 0.61% 129.97 KiB p/s ETA 19
> minikube-v1.6.0.iso: 13.60 MiB / 150.93 MiB 9.01% 140.91 KiB p/s ETA 16m^R
> minikube-v1.6.0.iso: 13.60 MiB / 150.93 MiB 9.01% 133.06 KiB p/s ETA 17m^R
> minikube-v1.6.0.iso: 14.15 MiB / 150.93 MiB 9.38% 126.56 KiB p/s ETA 18m^R
> minikube-v1.6.0.iso: 14.18 MiB / 150.93 MiB 9.40% 122.73 KiB p/s ETA 19m^R
> minikube-v1.6.0.iso: 16.38 MiB / 150.93 MiB 10.85% 140.77 KiB p/s ETA 16ls
> minikube-v1.6.0.iso: 150.93 MiB / 150.93 MiB 100.00% 152.14 KiB p/s 16m5
🔥 Creating virtualbox VM (CPUs=2, Memory=2000MB, Disk=20000MB) ...
..........
注意:Minikube还支持
--vm-driver = none
选项,该选项在主机而不是VM中运行Kubernetes组件。 使用none选项需要我们的主机已经安装了Docker并且是Linux环境,但不需要hypervisor。 当使用none驱动程序时,推荐使用apt方式安装Docker。 快照方式安装docker会使得minikube不起作用。
创建过程中因为要下载很多较大的程序,比如,driver,minikube启动镜像等,这个过程有点儿漫长。待minikube启动完成后,我们可以通过执行minikube status
命令检查集群状态:
minikube status
如果集群运行正常,我们将看到类似如下的输出结果:
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured