Minikube:轻松创建单机版Kubernetes集群

Tenxcloud · · 1794 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

**编者按:这是根据Kubernetes 1.3新功能写的一系列深入的文章,本文是第一篇。** 在管理容器化应用方面,Kubernetes是目前最好的工具之一,第一个能够应对生产环境的版本发布时间已经超过一年。然而,在搭建本地开发环境这块,一直处于缺失的状态。 为了改进这个现状,过去几个月,Kubernetes社区的几个开发者一直致力于GitHub上Minikube库的开发。我们的目标是在Mac、Linux和Windows上面使用一条命令就可以构建一个易于使用、高保真的kubernetes集群。 开发过程中,我们得到了很多社区成员的帮助,在这里向他们表示感谢,同时,我们很自豪地宣布:Minikube正式发布。这个版本原生支持kubernetes 1.3,增加了一些命令以便于与本地集群交互,针对xhyve(Mac OSX)和KVM(Linux)增加了驱动支持(experimental)。 ## 使用Minikube Minikube使用go语言编写,发布形式是一个独立的二进制文件,因此只需要下载,然后放到对应的位置: 目前安装Minikube需要预先安装VirtualBox,点击这里下载VirtualBox。(https://www.virtualbox.org/) ![alt 文本]( http://blog.tenxcloud.com/wp-content/uploads/2016/07/minikube5-2.png) 在Minikube 启动 Kubernetes 集群,使用` minikube start`命令: ![alt 文本]( http://blog.tenxcloud.com/wp-content/uploads/2016/07/minikube6.png) ![alt 文本]( http://blog.tenxcloud.com/wp-content/uploads/2016/07/minikube1.png) 这时,你笔记本上将会运行一个单节点的Kubernetes集群。Minikube也已经把kubectl配置好,因此无需做额外的工作就可以管理容器。 Minikube 创建一个Host-Only(仅主机模式)网络接口,通过这个接口可以路由到节点。如果要与运行的pods或services进行交互,你应该通过这个地址发送流量。使用` minikube ip`命令可以查看这个地址: ![alt 文本]( http://blog.tenxcloud.com/wp-content/uploads/2016/07/minikube2.png) Minikube 默认集成了Kubernetes Dashboard。执行` minikube dashboard`命令后,默认会打开浏览器: ![alt 文本]( http://blog.tenxcloud.com/wp-content/uploads/2016/07/minikube3.png) ![alt 文本]( http://blog.tenxcloud.com/wp-content/uploads/2016/07/minikube4.png) 总的来说,Minikube 支持所有你期望从Kubernetes集群得到的功能。如果你想通过shell里面执行命令,可以使用` kubectl exec `。如果想把流量从本地服务器转发给Pod或API Server,可以使用 ` kubectl port-forward`和`kubectl proxy`命令。 因为Minikube运行在本地而不是云服务器上,所以某些云服务特定的功能不是开箱即用的,比如LoadBalancer 和PersistentVolume。然而,你可以使用NodePort LoadBalancer 和HostPath PersistentVolume。 ## 架构 Minikube构建在Docker libmachine项目之上,利用驱动模型创建,管理并与本地虚拟机进行交互。 RedSpread 为Minikube repo贡献出自己的 localkube代码库,我们用它在虚拟机内启动一个单进程的Kubernetes cluster。Localkube将etcd、DNS、kubelet和所有的master组件封装到一个go二进制文件中,通过不同的goroutine启动这些组件。 ## 即将发布的功能 Minikube的开发工作一直非常有意思,我们也一直在努力提升Minikube的性能,以优化Kubernetes的开发体验。如果你有任何关于新功能的想法,请不要犹豫,通过github的issue track告知我们。(issue tracker:https://github.com/kubernetes/minikube/issues ) ## 下面列出了一些我们希望最近添加到 Minikube的功能: 1.本地管理程序支持OSX和Windows a) 我们计划取消对VirtualBox的依赖,并集成包括OSX 和Windows(分别为Hypervisor.framework 和 Hyper-v)在内的本地管理程序。 2.改进Kubernetes功能支持 a) 我们计划增加支持Kubernetes功能的范围,包括Ingress等功能。 3.配置Kubernetes 的版本 a) 现在Minikube只支持Kubernetes 1.3。我们计划增加用户自定义kubernetes版本的功能,以便于让你笔记本上的环境更好地匹配生产环境。 本文由[时速云][1]翻译,如若转载,需注明转载自“[时速云][1]” 原文链接:http://blog.kubernetes.io/2016/07/minikube-easily-run-kubernetes-locally.html [1]: https://www.tenxcloud.com/

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1794 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传