V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Tenxcloud10
V2EX  ›  推广

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

  •  
  •   Tenxcloud10 · 2016-07-20 17:34:04 +08:00 · 9492 次点击
    这是一个创建于 3030 天前的主题,其中的信息可能已经有所发展或是发生改变。

    编者按:这是根据 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 文本

    在 Minikube 启动 Kubernetes 集群,使用minikube start命令:

    alt 文本

    alt 文本

    这时,你笔记本上将会运行一个单节点的 Kubernetes 集群。 Minikube 也已经把 kubectl 配置好,因此无需做额外的工作就可以管理容器。

    Minikube 创建一个 Host-Only (仅主机模式)网络接口,通过这个接口可以路由到节点。如果要与运行的 pods 或 services 进行交互,你应该通过这个地址发送流量。使用minikube ip命令可以查看这个地址:

    alt 文本

    Minikube 默认集成了 Kubernetes Dashboard 。执行minikube dashboard命令后,默认会打开浏览器:

    alt 文本

    alt 文本

    总的来说, Minikube 支持所有你期望从 Kubernetes 集群得到的功能。如果你想通过 shell 里面执行命令,可以使用kubectl exec。如果想把流量从本地服务器转发给 Pod 或 API Server ,可以使用 kubectl port-forwardkubectl 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 版本的功能,以便于让你笔记本上的环境更好地匹配生产环境。

    本文由时速云翻译,如若转载,需注明转载自“时速云” 原文链接: http://blog.kubernetes.io/2016/07/minikube-easily-run-kubernetes-locally.html

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3364 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:02 · PVG 19:02 · LAX 03:02 · JFK 06:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.