是否可以将kubernetes作为docker容器运行?

时间:2015-11-19 04:19:04

标签: windows docker boot2docker kubernetes etcd

我对kubernetes很新,并尝试将其概念化并在本地进行设置,以便尝试在其上进行开发。

虽然我在Windows机器上运行但感到很混乱。

他们的#34;入门" github中的文档说你必须运行Linux才能使用kubernetes。

当docker在windows上运行时,我想知道是否可以在windows docker中创建一个kubernetes实例作为容器,并使用它来管理同一个windows docker实例中的其余群集。

通过阅读设置说明,看起来像docker,kubernetes和所谓的etcd都必须并行运行""在一个主机操作系统上...但我认为有可能

  1. 启动docker,启动'默认'机。
  2. 创建kubernetes容器 - 配置为与现有的docker'默认'进行通信。机
  3. 使用kubernetes管理现有的docker。
  4. 管梦?错误的愚蠢?我看到有一些选项可以在vagrant实例中运行它。这是指docker,etcd,& kubernetes在一个VM中(它又在其中创建了一个虚拟机集群?)

    我觉得我需要在物理硬件和内存盒方面画一幅画面。我真的很喜欢这个。

2 个答案:

答案 0 :(得分:3)

使用Windows,您需要 docker-machine 和boot2docker VM才能运行任何与docker相关的内容。
Windows"没有(尚未)" docker。

请注意issue 7428提及"无法在boot2docker"中运行kubernetes。 因此,即使您follow instructions(使用docker-machine创建的默认VM),您仍可以get errors

➜  workspace  docker run --net=host -d -v /var/run/docker.sock:/var/run/docker.sock  gcr.io/google_containers/hyperkube:v0.14.2 /hyperkube kubelet --api_servers=http://localhost:8080 --v=2 --address=0.0.0.0 --enable_server --hostname_override=127.0.0.1 --config=/etc/kubernetes/manifests
ee0b490f74f6bc9b70c1336115487b38d124bdcebf09b248cec91832e0e9af1d

➜  workspace  docker logs -f ee0b490f74f6bc9b70c1336115487b38d124bdcebf09b248cec91832e0e9af1d
W0428 09:09:41.479862       1 server.go:249] Could not load kubernetes auth path: stat : no such file or directory. Continuing with defaults.
I0428 09:09:41.479989       1 server.go:168] Using root directory: /var/lib/kubelet

另一种方法是尝试使用全功能的Linux VM(如最新的Ubuntu),而不是类似boot2docker的VM(基于TinyCore distro)。

答案 1 :(得分:1)

所有k8s组件都可以通过hyperkube进行升级,这有助于您实现容器化。 如果您能够在Windows上运行docker,它可能会起作用。我个人还没试过它。