Kubernetes 本地测试环境 MiniKube 介绍及国内安装配置

简介

对于初学者来讲,即使有一些教程,从零搭建 Kubernetes 具有一定的门槛。尤其是其中的很多原理概念无法快速掌握,搭建会遇到各种坑,这会非常打击学习者的积极性。好在 Kubernetes 社区提供了可以在本地开发和体验的极简集群实现 MiniKube,对于入门学习来说很方便。本文介绍 Minikube 的简单信息和安装方式。

Minikube 是一个轻量级的 Kubernetes 实现,会在本机创建一台虚拟机,并部署一个只包含一个节点的简单集群。 Minikube 适用于 Linux, Mac OS 和 Windows 系统。Minikube CLI 提供了集群的基本引导操作,包括启动、停止、状态和删除。

支持的特性

目前 Minikube 支持的 kubernetes features 有:

在实际学习体验中,绝大部分的 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之类镜像的还是要单独配置)什么的基本就不会有问题了。


本文参考:

谢谢鼓励