国内使用 minikube

OS:macOS

GitHub:https://github.com/khs1994-docker/minikube

GitHub: https://github.com/kubernetes/minikube

修订记录

  • 2018-01-15:请在之前看过我文章的务必按照本文重新安装配置 minikube
  • 2018-01-15:由于阿里云的 localkube 出现问题(已反馈给相关人员),暂时只能使用我编译的 localkube。

镜像列表

gcr.io/google_containers/kubernetes-dashboard-amd64    v1.8.0              55dbc28356f2        6 weeks ago         119MB
gcr.io/k8s-minikube/storage-provisioner                v1.8.1              4689081edb10        2 months ago        80.8MB
gcr.io/google_containers/k8s-dns-sidecar-amd64         1.14.5              fed89e8b4248        3 months ago        41.8MB
gcr.io/google_containers/k8s-dns-kube-dns-amd64        1.14.5              512cd7425a73        3 months ago        49.4MB
gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64   1.14.5              459944ce8cc4        3 months ago        41.4MB
gcr.io/google-containers/kube-addon-manager            v6.4-beta.2         0a951668696f        7 months ago        79.2MB
gcr.io/google_containers/pause-amd64                   3.0                 99e59f495ffa        20 months ago       747kB

本人也是初学 minikube,本文基于 minikube 0.24.1 版本。

如果我们直接使用从 https://github.com/kubernetes/minikube 下载的 minikube 你可能会发现根本不能运行成功。

这是因为它要从 gcr.io 拉取镜像,而国内网络问题导致镜像下载不了,当然也就不能启动了。

知道为什么成功不了,那我们就替换源码中的国外镜像为国内镜像源(阿里云)。

具体要变更哪些文件请看 GitHub

我已经把变更过的文件上传到了 GitHub,本文以这个 git 仓库为源码,重新编译 minikube

安装 kubectl

注意,由于网络问题,从官网下载极有可能下载失败。你可以使用浏览器在国内镜像下载之后移入 PATH https://github.com/khs1994-docker/kubectl-cn-mirror

使用 minikube 必须先安装好 k8s 命令行工具 kubectl

macOS

Docker for Mac 17.12+ 启用 k8s 之后会在 /usr/local/bin 放入 kubectl,所以你无需安装。

Docker for Mac 自带的 k8s 会与 minikube 冲突,请以下命令进行切换。

$ kubectl config get-contexts

CURRENT   NAME                 CLUSTER                      AUTHINFO             NAMESPACE
          docker-for-desktop   docker-for-desktop-cluster   docker-for-desktop
*         minikube             minikube                     minikube

# 切换到 docker 自带的 k8s

$ kubectl config use-context docker-for-desktop


# 切换到 minikube

$ kubectl config use-context minikube

如果你没启用 k8s 那么请使用下面的方法。

$ brew install kubectl

curl

或者使用 curl 下载。

bash

# OS X
$ curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/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

# Windows
$ curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/windows/amd64/kubectl.exe

fish

# OS X
$ curl -LO https://storage.googleapis.com/kubernetes-release/release/(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/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

# Windows
$ curl -LO https://storage.googleapis.com/kubernetes-release/release/(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/windows/amd64/kubectl.exe

重新安装 minikube 国内版

注意:国内从 GitHub 下载文件可能较慢,你可以在国内镜像下载之后移入 PATH https://code.aliyun.com/khs1994-docker/minikube/tree/v1.8.0

你可以选择 编译安装 或者 下载安装。为了避免混乱,编译安装的方法,放到了文章最后。

直接下载安装

你可以根据你的操作系统,下载对应的二进制文件。你也可以在命令行使用 curl 下载。

https://github.com/khs1994-docker/minikube/releases

bash

$ curl -LO https://github.com/khs1994-docker/minikube/releases/download/v0.24.1/minikube-`uname -s`-`uname -m`

$ chmod +x minikube-`uname -s`-`uname -m`

$ sudo cp minikube-`uname -s`-`uname -m` /usr/local/bin/minikube

fish

$ curl -LO https://github.com/khs1994-docker/minikube/releases/download/v0.24.1/minikube-(uname -s)-(uname -m)

$ chmod +x minikube-(uname -s)-(uname -m)

$ sudo cp minikube-(uname -s)-(uname -m) /usr/local/bin/minikube

虚拟机驱动

https://github.com/kubernetes/minikube/blob/master/docs/drivers.md

macOS 上默认的驱动是 VirtualBox,但是我们这里选择 hyperkit

注意,你可能看到一些旧教程使用了 xhyve,如果你使用这个驱动,启动时 minikube 会提示你该驱动已经废弃。

WARNING: The xhyve driver is now deprecated and support for it will be removed in a future release.
Please consider switching to the hyperkit driver, which is intended to replace the xhyve driver.
$ curl -LO https://github.com/kubernetes/minikube/releases/download/v0.24.1/docker-machine-driver-hyperkit

$ chmod +x docker-machine-driver-hyperkit

$ sudo mv docker-machine-driver-hyperkit /usr/local/bin/

$ sudo chown root:wheel /usr/local/bin/docker-machine-driver-hyperkit

$ sudo chmod u+s /usr/local/bin/docker-machine-driver-hyperkit

这样我们就安装好了驱动。

启动

$ minikube start --vm-driver=hyperkit --alsologtostderr --v 10

选择一种驱动之后,不要再改变,否则可能会启动失败。

错误排查

若启动时出现错误,请执行以下命令删除本地集群,再重新执行启动命令。

$ minikube delete

如果仍然出现错误请删除 ~/.minikube,再重新执行启动命令。

使用方法

打开控制面板

$ minikube dashboard

Opening kubernetes dashboard in default browser...

之后会自动打开浏览器页面。

查看 IP

$ minikube ip

192.168.64.12

查看状态

$ minikube status

minikube: Running
cluster: Running
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.64.12

查看集群

$ kubectl cluster-info

Kubernetes master is running at https://192.168.64.12:8443

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

更多方法请查看后续文章。

关闭

$ minikube stop

附录

Windows 启动 minikube

自行在上面提到的 GitHub国内镜像 下载好 kubectl.exe minikube.exe,并加入 PATH

配置 Hyper-V,具体图解请查看:https://yq.aliyun.com/articles/221687

$ minikube.exe start --registry-mirror=https://registry.docker-cn.com --vm-driver="hyperv" --memory=4096 --hyperv-virtual-switch="minikube"

编译安装 minikube

注意:编译安装适用于对 Go 有一定了解的人。

安装 Go

$ brew install go

设置 Go 相关环境变量,自行修改为你自己的路径。

GOROOT="/usr/local/opt/go/libexec"
GOPATH="/Users/khs1994/go"

编译安装

$ git clone -b 0.24.1 --depth=1 git@github.com:khs1994-docker/minikube.git $GOPATH/src/k8s.io/minikube

$ cd $GOPATH/src/k8s.io/minikube

$ make

$ sudo cp out/minikube /usr/local/bin

More Information

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏运维小白

11.3/11.4/11.5 MySQL安装

MySQL目录概要 MySQL的几个常用安装包:rpm、源码、二进制免编译 cd /usr/local/src //切换到下载源码包的目录 wge...

21750
来自专栏Coding01

一步一步搭建 PHP 服务器环境

这两天翻了翻之前的技术文档,发现有一篇文档值得拿出来和大家分享:如何给一台全新的阿里云服务器,搭建环境 —— 来部署 PHP 项目,Node.js 项目等。

49920
来自专栏A周立SpringCloud

Docker系列教程23-docker-compose常用命令

38430
来自专栏数值分析与有限元编程

Anaconda安装第三方包

Anaconda已经包含了许多第三方包(package),但有时还需要用到别的package,这就需要单独安装了。下面介绍两种安装方法。 方法一 step1:下...

30750
来自专栏小狼的世界

Kubernetes命名空间

Kubernetes中提供了命名空间,但是如果你的团队规模比较小并且集群规模也不大,完全可以不用Namespaces而使用labels来区分不同的资源,随着项目...

19710
来自专栏Pythonista

Python深度学习之安装theano(windows)

安装theano,提前清空自己的python环境吧,坑太多了,anaconda会自动安装path

16460
来自专栏Debian社区

Debian Jessie 稳定版 8.7 发布

Debian 项目宣布其稳定发行版 Debian 8(代号 jessie)已经发布第七次更新。这次更新主要将安全问题的更正添加到稳定版本,以及对严重问题的一些调...

21930
来自专栏电光石火

Win10修改Docker镜像存储位置

1.2K30
来自专栏Web项目聚集地

三周学会小程序第四讲:Heroku 绑定 Github 自动部署

这一讲是根据读者的反馈补充的一个讲解,好多读者反应安装 Heroku-cli 遇到问题,或者是操作繁琐,其实上一讲《三周学会小程序第三讲:服务端搭建和免费部署》...

12840
来自专栏编程坑太多

『高级篇』docker之安全认证kubernetes命令熟悉(40)

PS:基本就是测试下安全认证的k8s是否可以正常的使用,也使用了几个命令,其实我感觉,kubernetes 跟docker的命令很类似,环境搭建是大头,环境能搭...

14030

扫码关注云+社区

领取腾讯云代金券