是否可以 运行 kubernetes 作为 docker 容器?
Is it possible to run kubernetes as a docker container?
我是 kubernetes 的新手,正在尝试将其概念化并在本地进行设置,以便尝试在其上开发一些东西。
尽管我 运行 在 windows 机器上运行,但我感到很困惑。
他们在 github 中的 "getting started" 文档说你必须 运行 Linux 才能使用 kubernetes。
作为 docker 运行s 在 windows 上,我想知道是否可以在 windows docker 中创建一个 kubernetes 实例作为容器并使用它来管理同一 windows docker 实例中的其余集群。
从阅读设置说明来看,似乎 docker、kubernetes 和名为 etcd 的东西都必须 运行 "in parallel" 在单个主机操作系统上......但是部分我认为有可能
- 启动 docker,启动 'default' 机器。
- 创建 kubernetes 容器 - 配置与现有 docker 'default' 机器通信
- 使用 kubernetes 管理现有 docker。
白日梦?错误的愚蠢?我看到在 vagrant 实例中围绕 运行 有一些选项。这是否意味着 docker、etcd 和 kubernetes 在单个 VM 中一起使用(这又在其中创建了一个虚拟机集群?)
我觉得我需要画出这一切在物理硬件方面的样子,"memory boxes" 才能真正解决这个问题。
使用 Windows,您需要 docker-machine 和 boot2docker VM 到 运行 任何 docker 相关.
没有(还没有)"docker for Windows".
注意 issue 7428 提到了 "Can't run kubernetes within boot2docker"。
所以即使你 follow instructions (from a default VM created with docker-machine), you might still 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).
所有的k8s组件都可以用hyperkube来提升,它可以帮助你提升一个容器化的组件。
如果您能够 运行 docker on windows,它可能会起作用。我还没有亲自在 windows 上试过。
我是 kubernetes 的新手,正在尝试将其概念化并在本地进行设置,以便尝试在其上开发一些东西。
尽管我 运行 在 windows 机器上运行,但我感到很困惑。
他们在 github 中的 "getting started" 文档说你必须 运行 Linux 才能使用 kubernetes。
作为 docker 运行s 在 windows 上,我想知道是否可以在 windows docker 中创建一个 kubernetes 实例作为容器并使用它来管理同一 windows docker 实例中的其余集群。
从阅读设置说明来看,似乎 docker、kubernetes 和名为 etcd 的东西都必须 运行 "in parallel" 在单个主机操作系统上......但是部分我认为有可能
- 启动 docker,启动 'default' 机器。
- 创建 kubernetes 容器 - 配置与现有 docker 'default' 机器通信
- 使用 kubernetes 管理现有 docker。
白日梦?错误的愚蠢?我看到在 vagrant 实例中围绕 运行 有一些选项。这是否意味着 docker、etcd 和 kubernetes 在单个 VM 中一起使用(这又在其中创建了一个虚拟机集群?)
我觉得我需要画出这一切在物理硬件方面的样子,"memory boxes" 才能真正解决这个问题。
使用 Windows,您需要 docker-machine 和 boot2docker VM 到 运行 任何 docker 相关.
没有(还没有)"docker for Windows".
注意 issue 7428 提到了 "Can't run kubernetes within boot2docker"。
所以即使你 follow instructions (from a default VM created with docker-machine), you might still 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).
所有的k8s组件都可以用hyperkube来提升,它可以帮助你提升一个容器化的组件。 如果您能够 运行 docker on windows,它可能会起作用。我还没有亲自在 windows 上试过。