起始

minikube 是一个本地的 k8s, 专注于为 k8s 创建一个简单的学习和开发环境。
你只需要一个 Docker(或者类似兼容的)容器,或者一个虚拟机环境,k8s 只需要一个单独的命令:minikube start

环境需求

安装使用

1. 安装

以安装 linux x86-64, stable, binary 为例

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

2. 启动集群

在终端中使用root权限(但不要使用root登录),执行:

minikube start

3. 和你的集群进行交互

如果你已经安装成功,你现在就可以访问你崭新的集群了:

kubectl get po -A

或者, minikube 能够下载合适的kubectl版本,你应该能够这样使用它:

minikube kubectl -- get po -A

你还可以把下面的文本写到你的shell配置中减小你的负担:

alias kubectl="minikube kubectl --"

最后,一些服务可能还处于启动状态中,这是正常的情况。minikube带了一个仪表盘来帮助你检查你的环境:

minikube dashboard

4. 部署应用程序

创建一个示例部署并暴露在8080端口上:

kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
kubectl expose deployment hello-minikube --type=NodePort --port=8080

注意,此处 k8s.gcr.io 在国内可能无法访问,可以使用镜像地址:

运行上面的命令需要一些时间,但是你的 deployment 很快将会显示 **up。**在你运行下面命令的时候:

kubectl get services hello-minikube

最简单的访问这个服务的方式是让 minikube 为你启动一个 web 浏览器:

minikube service hello-minikube

或者,使用 kubectl 转发端口:

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

现在就可以使用: http://localhost:7080/. 来访问你的应用程序啦!

访问这个地址,你应该能够看到来自nginx的请求元数据,类似CLIENT VALUES,SERVER VALUES,HEADERS RECEIVED, 以及在应用程序输出中的 BODY。尝试改变请求路径并观察 CLIENT VALUES. 同样的,你也可以执行一个相同的POST请求并且观察 BODY节点的输出。

负载均衡部署(LoadBalancer deployments)

为了访问 LoadBalancer deployment, 使用 “minikube tunnel” 命令。这里是一个示范:

kubectl create deployment balanced --image=k8s.gcr.io/echoserver:1.4  
kubectl expose deployment balanced --type=LoadBalancer --port=8080

在其他窗口中,为 “balanced” deployment 启动一个 tunnel 并创建一个可路由的 IP :

minikube tunnel

执行下面的命令查找可路由IP, 检查EXTERNAL-IP列:

kubectl get services balanced

你现在可用通过 EXTERNAL-IP: 8080 访问你的应用了。

5. 管理你的集群

暂停 k8s 并且不影响已部署的应用:

minikube pause

恢复暂停的示例

minikube unpause

停止一个集群

minikube stop

添加一个默认的内存限制(需要重启集群)

minikube config set memory 16384

浏览易于安装的k8s服务目录

minikube addons list

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

minikube start -p aged --kubernetes-version=v1.16.1

删除全部的minikube集群

minkube delete --all
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐