5

我对 kubernetes 非常陌生,并试图将其概念化并在本地进行设置,以便尝试在其上开发一些东西。

尽管我在 Windows 机器上运行,但令人困惑。

他们在 github 上的“入门”文档说你必须运行 Linux 才能使用 kubernetes。

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

通过阅读设置说明,似乎 docker、kubernetes 和称为 etcd 的东西都必须在单个主机操作系统上“并行”运行......但我的一部分认为可能

  1. 启动 docker,启动“默认”机器。
  2. 创建 kubernetes 容器 - 配置为与现有 docker 'default' 机器通信
  3. 使用 kubernetes 管理现有的 docker。

白日梦?误入歧途的愚蠢?我看到在 vagrant 实例中运行它有一些选择。这是否意味着 docker、etcd 和 kubernetes 在单个 VM 中一起使用(进而在其中创建一个虚拟机集群?)

我觉得我需要画出这一切在物理硬件和“内存盒”方面的样子,才能真正理解这一点。

4

2 回答 2

3

对于 Windows,您需要docker -machine和 boot2docker 虚拟机来运行任何与 docker 相关的东西。
没有(还没有)“Windows docker”。

请注意,问题 7428提到“无法在 boot2docker 中运行 kubernetes”。
因此,即使您按照说明(来自使用 docker-machine 创建的默认 VM),您仍然可能会收到错误

➜  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 发行版)。

于 2015-11-19T07:23:25.317 回答
1

所有 k8s 组件都可以使用 hyperkube 来构建,它可以帮助您构建一个容器化的组件。如果您能够在 Windows 上运行 docker,它可能会起作用。我没有亲自在Windows上尝试过。

于 2015-11-19T07:57:27.363 回答