安装minikube
为了方便学习Kubernetes,所以在本地安装单机版的minikube,记录安装步骤备忘。
一、配置
先决条件
- 安装 kubectl
Minikube在不同操作系统上支持不同的驱动
-
macOS
- xhyve driver 缺省驱动, VirtualBox 或 VMware Fusion
-
Linux
- VirtualBox 或 KVM
- NOTE: Minikube 也支持
--vm-driver=none
选项来在本机运行 Kubernetes 组件,这时候需要本机安装了 Docker。此外 none 驱动会运行一个不安全的API Server,会导致安全隐患,不建议在个人工作环境安装。
-
Windows
- VirtualBox 或 Hyper-V - 请参考下文
注:
- 由于minikube复用了docker-machine,在其软件包中已经支持了相应的VirtualBox, VMware Fusion驱动
- VT-x/AMD-v 虚拟化必须在 BIOS 中开启
- 在Windows环境下,如果开启了Hyper-V,不支持VirtualBox方式
安装Minikube
您可以参考 https://minikube.sigs.k8s.io/docs/start/ 安装配置
Mac OSX
curl -Lo minikube https://github.com/kubernetes/minikube/releases/download/v1.6.2/minikube-darwin-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
Linux
curl -Lo minikube https://github.com/kubernetes/minikube/releases/download/v1.6.2/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
Windows
下载 minikube-windows-amd64.exe 文件,并重命名为 minikube.exe
二、启动
从1.5.0版本开始,Minikube缺省使用本地最好的驱动来创建Kubernetes本地环境
minikube start
为了访问海外的资源,阿里云提供了一系列基础设施,请按照如下参数进行配置。其中常见参数
--image-mirror-country cn
将缺省利用 registry.cn-hangzhou.aliyuncs.com/google_containers 作为安装Kubernetes的容器镜像仓库,--iso-url=***
利用阿里云的镜像地址下载相应的 .iso 文件--cpus=2
: 为minikube虚拟机分配CPU核数--memory=2000mb
: 为minikube虚拟机分配内存数--kubernetes-version=***
: minikube 虚拟机将使用的 kubernetes 版本
安装minikube缺省支持的Kubernetes版本
minikube start --image-mirror-country cn \
--iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.6.0.iso \
--registry-mirror=https://xxxxxx.mirror.aliyuncs.com
打开Kubernetes控制台
minikube dashboard
对于使用Hyper-V环境的用户,首先应该打开Hyper-V管理器创建一个外部虚拟交换机,
之后,我们可以用如下命令来创建基于Hyper-V的Kubernetes测试环境
.\minikube.exe start --image-mirror-country cn \
--iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.5.0.iso \
--registry-mirror=https://xxxxxx.mirror.aliyuncs.com \
--vm-driver="hyperv" \
--hyperv-virtual-switch="MinikubeSwitch" \
--memory=4096
注:需要管理员权限来创建Hyper-V虚拟机
使用Minikube
Minikube利用本地虚拟机环境部署Kubernetes,其基本架构如下图所示。
用户使用Minikube CLI管理虚拟机上的Kubernetes环境,比如:启动,停止,删除,获取状态等。一旦Minikube虚拟机启动,用户就可以使用熟悉的Kubectl CLI在Kubernetes集群上执行操作。