1 摘要

根据我在本地搭建 Minikube 和 Helm 的经验总结,主要包括:

  • 安装和配置 Minikube - 使用合适的参数以能够顺利的下载相关镜像文件,特别是要配置 docker registry-mirror。
  • 安装和配置 Helm - 主要是 Tiller 镜像的下载以及配置 Helm charts 仓库镜像。

2 安装和配置 Minikube

2.1 安装 Minikube

在终端上运行如下命令安装 Minikube (v1.1.0).

1
brew cask install minikube

2.2 启动 Minikube

运行如下命令启动 Minikube 并打印详细的日志至控制台以便于对启动过程进行详细的了解。一旦成功启动后,再次启动,只需要运行 minikube start 命令即可。

1
minikube start --logtostderr --v=3 --image-mirror-country=cn --registry-mirror https://dockerhub.azk8s.cn
  • 使用 --logtostderr --v=3 参数以打印相关日志,便于发现启动过程中的问题。
  • 使用 --image-mirror-country=cn 参数以顺利的下载 k8s 相关镜像。
  • 使用 --registry-mirror https://dockerhub.azk8s.cn 参数以指定 docker image 镜像 - 便于国内下载。

注意:可通过运行 minikube ssh | docker info 命令检查是否正确的传递了 registry-mirror 参数。

2.3 配置 Docker 环境

使用 docker-env command 配置本地 docker 环境以重用 Minikube Docker Daemon:

1
eval $(minikube docker-env)

通过以上配置后,就可以在本地运行 docker 命令。

3 安装和配置 Helm

Helm 是优秀的 Kubernetes 包管理工具,是发现、共享和使用软件(构建于 Kubernetes 平台之上)的最佳方法。

3.1 安装 Helm Client

运行如下命令安装 Helm Client:

1
brew install kubernetes-helm

3.2 安装 Tiller

命令 helm init 用于在 Minikube 环境下安装并初始化 Tiller,但由于 Tiller 位于 gcr.io 仓库而导致在国内拉取镜像失败。在 Tiller 安装和初始化的时候,要通过合适的配置使用 Tiller Mirror 以顺利的下载 Tiller:

  • 运行 docker search tiller 寻找 tiller,我使用 sapcc/tiller - mirror grc.io
  • 运行 helm init -i sapcc/tiller:v2.13.0 --stable-repo-url https://mirror.azure.cn/kubernetes/charts/ 安装 Tiller - 注意 Tiller 版本要和 Helm Client 版本兼容。其中参数 --stable-repo-url 用于指定 Charts 仓库,我们这里使用 azure.cn 仓库。

3.3 配置 Charts Repo 镜像

也可以通过 helm repo add 命令添加 Charts 仓库:

  • 运行 helm repo add stable https://mirror.azure.cn/kubernetes/charts/ 添加 Azure charts 仓库。

4 参考文献

  1. Kubernetes Home, https://kubernetes.io.
  2. Kubernetes 中文指南, https://jimmysong.io/kubernetes-handbook/, By Jimmy Song
  3. Ausre container registry proxy, https://github.com/Azure/container-service-for-azure-china/blob/master/aks/README.md#22-container-registry-proxy.
  4. Asure docker proxy,http://mirror.azk8s.cn/help/docker-registry-proxy-cache.html
  5. Asure gcr proxy, http://mirror.azk8s.cn/help/gcr-proxy-cache.html
  6. Asure kubernetes mirror, https://mirror.azk8s.cn/kubernetes/