minikube安装和使用

minikube 开始

minikube 是本地 Kubernetes,专注于让 Kubernetes 易于学习和开发。

您所需要的只是 Docker(或类似兼容的)容器或虚拟机环境,而 Kubernetes 只需一个命令即可: minikube start

你需要什么

这里使用docker,提前安装好docker。

一、安装

  • linux
    安装最新的 minikube 稳定 版本 x86-64 Linux 使用 二进制下载 :
    1
    2
    curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
    sudo install minikube-linux-amd64 /usr/local/bin/minikube

二、启动集群

从具有管理员访问权限的终端(但未以 root 身份登录),运行:

1
2
3
4
5
6
minikube start

# 使用阿里云镜像启动
minikube start --image-mirror-country='cn' --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'
# 可以使用代理选项
--docker-env=[HTTPS_PROXY='http://127.0.0.1:xxxx', HTTP_PROXY='http://127.0.0.1:xxxx']

如果 minikube 无法启动,请参阅 驱动程序页面 以获取设置兼容容器或虚拟机管理器的帮助。

三、与您的集群交互

如果您已经安装了 kubectl,您现在可以使用它来访问您闪亮的新集群:

1
kubectl get po -A

或者,minikube 可以下载适当版本的 kubectl,您应该可以像这样使用它:

1
minikube kubectl -- get po -A

您还可以通过将以下内容添加到您的 shell 配置中来使您的使用更轻松:

1
alias kubectl="minikube kubectl --"

最初,某些服务(例如 storage-provisioner)可能尚未处于运行状态。 这是集群启动期间的正常情况,并且会立即自行解决。 为了进一步了解您的集群状态,minikube 捆绑了 Kubernetes Dashboard,让您可以轻松适应新环境:

1
minikube dashboard

四、部署应用程序

创建一个示例部署并在端口 8080 上公开它:

1
2
3
4
5
6
kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
kubectl expose deployment hello-minikube --type=NodePort --port=8080

# 使用阿里云镜像:
kubectl create deployment hello-minikube --image=registry.cn-hangzhou.aliyuncs.com/google_containers/echoserver:1.4
kubectl expose deployment hello-minikube --type=NodePort --port=8080

这可能需要一点时间,但是当您运行时,您的部署将很快出现:

1
kubectl get services hello-minikube

访问此服务的最简单方法是让 minikube 为您启动 Web 浏览器:

1
minikube service hello-minikube

或者,使用 kubectl 转发端口:

1
kubectl port-forward service/hello-minikube 7080:8080

您的应用程序现在可以在 http://localhost:7080/ 访问。
您应该能够看到来自 nginx 的请求元数据,例如 CLIENT VALUES, SERVER VALUES, HEADERS RECEIVED和 BODY在应用程序输出中。 尝试更改请求的路径并观察 CLIENT VALUES. 类似地,您可以对它发出 POST 请求并观察身体出现在 BODY 输出部分。

负载均衡器部署

要访问 LoadBalancer 部署,请使用“minikube tunnel”命令。 这是一个示例部署:

1
2
3
4
5
kubectl create deployment balanced --image=k8s.gcr.io/echoserver:1.4  
kubectl expose deployment balanced --type=LoadBalancer --port=8080
# 使用阿里云镜像:
kubectl create deployment balanced --image=registry.cn-hangzhou.aliyuncs.com/google_containers/echoserver:1.4
kubectl expose deployment balanced --type=LoadBalancer --port=8080

在另一个窗口中,启动隧道以为“平衡”部署创建可路由 IP:

1
minikube tunnel

要查找可路由 IP,请运行此命令并检查 EXTERNAL-IP柱子:

1
kubectl get services balanced

五、管理您的集群

在不影响已部署应用程序的情况下暂停 Kubernetes:

1
minikube pause

取消暂停暂停的实例:

1
minikube unpause

停止集群:

1
minikube stop

增加默认内存限制(需要重新启动):

1
minikube config set memory 16384

浏览易于安装的 Kubernetes 服务目录:

1
minikube addons list

创建第二个运行旧 Kubernetes 版本的集群:

1
minikube start -p aged --kubernetes-version=v1.6.1

删除所有 minikube 集群:

1
minikube delete --all

下一步

参考