<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>minikube | 伪架构师</title>
    <link>/tags/minikube/</link>
      <atom:link href="/tags/minikube/index.xml" rel="self" type="application/rss+xml" />
    <description>minikube</description>
    <generator>Source Themes Academic (https://sourcethemes.com/academic/)</generator><language>zh</language><lastBuildDate>Thu, 14 Jul 2016 15:49:24 +0800</lastBuildDate>
    <image>
      <url>/img/logo-wide.png</url>
      <title>minikube</title>
      <link>/tags/minikube/</link>
    </image>
    
    <item>
      <title>Minikube：轻松运行本地 Kuberntes 集群</title>
      <link>/post/minikube-easily-run-kubernetes-locally/</link>
      <pubDate>Thu, 14 Jul 2016 15:49:24 +0800</pubDate>
      <guid>/post/minikube-easily-run-kubernetes-locally/</guid>
      <description>

&lt;p&gt;原文：&lt;a href=&#34;https://kubernetes.io/blog/2016/07/minikube-easily-run-kubernetes-locally&#34; target=&#34;_blank&#34;&gt;Minikube: easily run Kubernetes locally&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kubernetes 已经是目前最佳的应用容器化工具之一。在投入实际使用之后的一年来，Kubernetes（社区）需要一个本地开发平台。&lt;/p&gt;

&lt;p&gt;在过去的几个月中，Kubernetes 社区中的很多成员在为 Github 的 &lt;a href=&#34;http://github.com/kubernetes/minikube&#34; target=&#34;_blank&#34;&gt;Minikube 仓库&lt;/a&gt; 奋战。我们要建立一个可以一键运行的版本，这个版本要易用和准确兼顾，并且能够兼容 Mac、 Linux 以及 Windows 的工作站和笔记本电脑。&lt;/p&gt;

&lt;p&gt;感谢社区成员的贡献，我们自豪的宣告 Minikube 的诞生，并与 &lt;a href=&#34;http://blog.kubernetes.io/2016/07/kubernetes-1.3-bridging-cloud-native-and-enterprise-workloads.html&#34; target=&#34;_blank&#34;&gt;Kubernetes 1.3&lt;/a&gt; 一起发布，新的命令能够更好的跟本地集群通信，并且加入了试验性的对 xhyve（OS X）以及 KVM（Linux）的支持。&lt;/p&gt;

&lt;h2 id=&#34;使用-minikube&#34;&gt;使用 Minikube&lt;/h2&gt;

&lt;p&gt;Minitube 是一个独立的 Go 应用，所以只要下载运行就可以了：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Minikube 目前要求安装 &lt;a href=&#34;https://www.virtualbox.org/&#34; target=&#34;_blank&#34;&gt;VirtualBox&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code class=&#34;language-bash&#34;&gt;# 这是针对 Mac， 如果是 Linux 的话，用 minikube-linux-amd64 代替 minikube-darwin-amd64 即可

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 &amp;amp;&amp;amp; chmod +x minikube &amp;amp;&amp;amp; sudo mv minikube /usr/local/bin/
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;要启动 Kubernetes 集群，要使用&lt;code&gt;minikube start&lt;/code&gt;命令：&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ minikube start
Starting local Kubernetes cluster...
Kubernetes is available at https://192.168.99.100:443
Kubectl is now configured to use the cluster
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&#34;images/cluster-starts.png&#34; alt=&#34;cluster starts&#34; /&gt;&lt;/p&gt;

&lt;p&gt;这样，就在你的电脑上启动了一个单节点的 Kubernetes 集群。Minikube 会给你配置 &lt;code&gt;kubectl&lt;/code&gt;，所以你现在就可以运行容器了。&lt;/p&gt;

&lt;p&gt;Minikube 创建了一个 Host-Only 的网络界面来和 Node 通信。要和其中的 Pod 或者 Service 通信，就需要跟这个地址进行交互。可以使用 &lt;code&gt;minikube ip&lt;/code&gt; 命令：&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;images/minikube-ip.png&#34; alt=&#34;minikube ip&#34; /&gt;&lt;/p&gt;

&lt;p&gt;Minikube 还自带了 Kubernetes Dashboard。要浏览这个界面，可以使用内置的 &lt;code&gt;minikube dashboard&lt;/code&gt;命令。&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;images/dashboard-cmd.png&#34; alt=&#34;dashboard command&#34; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;images/dashboard.png&#34; alt=&#34;dashboard screen shot&#34; /&gt;&lt;/p&gt;

&lt;p&gt;一般来说，Minikube 支持 Kubernetes 集群的所有内容。你可以使用 &lt;code&gt;kubectl exec&lt;/code&gt; 来在 pod 内获取一个 bash shell。还可以使用 &lt;code&gt;kubectl port-forward&lt;/code&gt; 以及 &lt;code&gt;kubectl proxy&lt;/code&gt; 命令来把通信从本地转发到一个 pod 或者 API server。&lt;/p&gt;

&lt;p&gt;Minikube 是运行在本地而不是云供应商，因此特定的 LoadBalancer 以及 PersistentVolume 也就无法使用了；当然，还是可以使用 NodePort 以及 HostPath 作为替代方案。&lt;/p&gt;

&lt;h2 id=&#34;架构&#34;&gt;架构&lt;/h2&gt;

&lt;p&gt;Minikube 构建于 Docker 的 &lt;a href=&#34;https://github.com/docker/machine/tree/master/libmachine&#34; target=&#34;_blank&#34;&gt;libmachine&lt;/a&gt;，利用他的驱动模型来创建、管理本地运行的虚拟机，并与其交互。&lt;/p&gt;

&lt;p&gt;慷慨的 &lt;a href=&#34;https://redspread.com/&#34; target=&#34;_blank&#34;&gt;RedSpread&lt;/a&gt;向 Minikube 贡献了他们的 &lt;a href=&#34;https://github.com/redspread/localkube&#34; target=&#34;_blank&#34;&gt;localkube&lt;/a&gt; 代码，得到这一帮助，我们有了在虚拟机中创建单进程 Kubernetes 集群的能力。Localkube 把 etcd、DNS、Kubelet 以及所有的 Kubernetes Master 组件都集成到了一个单独的 Go Lib 中并使用不同的 goroutine 执行。&lt;/p&gt;

&lt;h2 id=&#34;后续发展&#34;&gt;后续发展&lt;/h2&gt;

&lt;p&gt;Minikube 现在已经颇具可玩性了，为了改善 Kubernetes 开发体验，我们会持续对 Minikube 进行增强。如果你有任何设想，请移步 &lt;a href=&#34;https://github.com/kubernetes/minikube/issues&#34; target=&#34;_blank&#34;&gt;issue tracker&lt;/a&gt; 畅所欲言。&lt;/p&gt;

&lt;p&gt;我们希望尽快把下面列表中的内容加入 Minikube：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;为 OSX 以及 Windows 提供本地的 Native hypervisor 支持。

&lt;ul&gt;
&lt;li&gt;我们计划去掉对 Virtualbox 的依赖，转向 OSX 和 Windows 的本地 Hypervisor。&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;增强对 Kubernetes 特性的支持

&lt;ul&gt;
&lt;li&gt;希望能够进一步缩小功能差异，以便于引入 Ingress 之类的内容。&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;可配置的 Kubernetes 版本

&lt;ul&gt;
&lt;li&gt;目前 Minikube 只支持 Kubernetes 1.3。我们计划提供用户可控的 Kubernetes 版本支持，这样就能够让开发与生产环境更加贴近。&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;社区&#34;&gt;社区&lt;/h2&gt;

&lt;p&gt;我们乐于听取 Minikube 的反馈，可以用下面的方式参与社区：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;在 &lt;a href=&#34;https://github.com/kubernetes/minikube&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt; 中提出 Issue 或者提出功能要求。&lt;/li&gt;
&lt;li&gt;加入 &lt;a href=&#34;https://kubernetes.slack.com/&#34; target=&#34;_blank&#34;&gt;Slack&lt;/a&gt; 的 &lt;code&gt;#minikube&lt;/code&gt; 频道&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;请给 Minikube 一个机会，并让我们能够获知 Minikube 的运行情况。&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
