简介
对于初学者来讲,即使有一些教程,从零搭建 Kubernetes 具有一定的门槛。尤其是其中的很多原理概念无法快速掌握,搭建会遇到各种坑,这会非常打击学习者的积极性。好在 Kubernetes 社区提供了可以在本地开发和体验的极简集群实现 MiniKube,对于入门学习来说很方便。本文介绍 Minikube 的简单信息和安装方式。
Minikube 是一个轻量级的 Kubernetes 实现,会在本机创建一台虚拟机,并部署一个只包含一个节点的简单集群。 Minikube 适用于 Linux, Mac OS 和 Windows 系统。Minikube CLI 提供了集群的基本引导操作,包括启动、停止、状态和删除。
支持的特性
目前 Minikube 支持的 kubernetes features 有:
- LoadBalancer - using
minikube tunnel
- Multi-cluster - using
minikube start -p <name>
- NodePorts - using
minikube service
- Persistent Volumes
- Ingress
- RBAC
- Dashboard -
minikube dashboard
- Container runtimes -
start --container-runtime
- Configure apiserver and kubelet options via command-line flags
在实际学习体验中,绝大部分的 kubernetes 操作和很多社区工具都是兼容 Minikube 的,可以放心采用 Minikube。
先决条件
注:
- 更新或切换安装包,需要
minikube delete
删除现有虚拟机rm -rf ~/.minikube
删除原本地缓存的文件- 替换新的安装包,重新创建 minikube 环境
- 本文使用 2019年5月14日 最新的 v1.0.1 版本介绍
先决条件,直接摘录官方 README,其中 kubectl
略作说明,虚拟化支持大家请自行配置。
- kubectl
- macOS
- Linux
- VirtualBox or KVM
- NOTE: Minikube also supports a
--vm-driver=none
option that runs the Kubernetes components on the host and not in a VM. Docker is required to use this driver but no hypervisor. If you use--vm-driver=none
, be sure to specify a bridge network for docker. Otherwise it might change between network restarts, causing loss of connectivity to your cluster.
- Windows
- VT-x/AMD-v virtualization must be enabled in BIOS
- Internet connection on first run
kubectl 安装
kubectl 安装比较简单,根据系统环境参照官方文档直接选择一种合适的方式即可。 最新版本号就是 kubernetes 版本号,通过 https://storage.googleapis.com/kubernetes-release/release/stable.txt
查看。
本人 windows 直接选用最新的二进制文件,下载后放入 PATH
:
https://storage.googleapis.com/kubernetes-release/release/v1.14.1/bin/windows/amd64/kubectl.exe
如果速度太慢,可以考虑镜像:http://mirror.azure.cn/kubernetes/kubectl/v1.14.1/bin/windows/amd64/kubectl.exe
安装 Minikube
重点来了。国内网络原因,免去后面镜像下载等各种麻烦,我们使用阿里修改版的 minikube 安装包(感谢阿里小哥的勤劳)。
如果你看这篇文章的时候有更新,和 kubectl 下载地址一样,将地址中版本号修改掉就OK。
1 | http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.0.1/minikube-windows-amd64.exe |
下载安装
根据如下地址下载,并如 kubectl
一样,添加到 PATH
中。
Windows
从 http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v0.27.0/minikube-windows-amd64.exe
下载并重命名为minikube.exe
。
Mac OSX
1 | curl -Lo minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.0.1/minikube-darwin-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/ |
Linux
1 | curl -Lo minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.0.1/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/ |
启动
缺省Minikube使用VirtualBox驱动来创建Kubernetes本地环境,无代理环境使用如下命令:
1 | minikube start --registry-mirror=https://dockerhub.azk8s.cn |
有代理的话,在命令后面加入代理配置:
1 | minikube start --registry-mirror=https://dockerhub.azk8s.cn --docker-env HTTP_PROXY=http://proxy_user:proxy_password@proxy_host:proxy_port --docker-env HTTPS_PROXY=https://proxy_user:proxy_password@proxy_host:proxy_port |
如果有私库需要配置 --insecure-registry
的话,也同样直接加在后面。
如:
1 | minikube start --registry-mirror=https://dockerhub.azk8s.cn --insecure-registry docker.examplea.com --insecure-registry docker.exampleb.com |
--registry-mirror=
可以配置为你觉得好用的国内 docker 镜像地址。这个可以让你后续下载各种 docker hub 镜像的时候少去很多烦恼。
启动的过程需要下载搭建集群的镜像和创建虚拟机及相关配置,需要一点时间,适用阿里的 Minikube
应该可以看到速度还是不错的。
看到成功之后,我们就可以测试一下了。
测试集群
kubectl version
查看客户端和服务端(kubernetes)集群的版本号,看看 Minikube 给我们安装的是什么版本,目前应该是最新版本 1.14.1
,也可以通过 kubectl cluster-info
查看集群的基本信息:
打开 kubernetes 控制台直观感受下
kubernetes 官方有配套的 dashboard 项目,可以帮我们直观了解集群运行情况。Minikube 可以很方便帮助我们安装:
1 | minikube dashboard |
安装完成后会自动帮我们在浏览器中打开 dashboard。
如果,此处控制台成功启动,就可以说是大功告成,后续的镜像下载(gcr之类镜像的还是要单独配置)什么的基本就不会有问题了。
本文参考: