minikube安装和使用
minikube 开始
minikube 是本地 Kubernetes,专注于让 Kubernetes 易于学习和开发。
您所需要的只是 Docker(或类似兼容的)容器或虚拟机环境,而 Kubernetes 只需一个命令即可: minikube start
你需要什么
- 2 个 CPU 或更多
- 2GB 可用内存
- 20GB 可用磁盘空间
- 网络连接
- 容器或虚拟机管理器,例如: Docker 、 Hyperkit 、 Hyper-V 、 KVM 、 Parallels 、 Podman 、 VirtualBox 或 VMware Fusion/Workstation
这里使用docker,提前安装好docker。
一、安装
- linux
安装最新的 minikube 稳定 版本 x86-64 Linux 使用 二进制下载 :1
2curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
二、启动集群
从具有管理员访问权限的终端(但未以 root 身份登录),运行:
1 | minikube start |
如果 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 | kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4 |
这可能需要一点时间,但是当您运行时,您的部署将很快出现:
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 | kubectl create deployment balanced --image=k8s.gcr.io/echoserver:1.4 |
在另一个窗口中,启动隧道以为“平衡”部署创建可路由 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 |