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

标签 windows docker boot2docker kubernetes etcd

我是 kubernetes 的新手,正在尝试将其概念化并在本地进行设置,以便尝试在其上开发一些东西。

虽然我在 Windows 机器上运行,但我感到很困惑。

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

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

从阅读设置说明来看,似乎 docker、kubernetes 和 etcd 都必须在单个主机操作系统上“并行”运行……但我的一部分认为这可能是可能的

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

白日梦?错误的愚蠢?我看到有一些关于在 vagrant 实例中运行它的选项。这是否意味着 docker、etcd 和 kubernetes 一起在单个 VM 中(这又在其中创建了一个虚拟机集群?)

我觉得我需要画出这一切在物理硬件和“内存盒”方面的样子,以便真正围绕这个展开思考。

最佳答案

对于 Windows,您需要 docker-machine 和 boot2docker 虚拟机来运行任何与 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 )。

关于windows - 是否可以将 kubernetes 作为 docker 容器运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33795204/

相关文章:

windows - 无法删除一些 child 。发生这种情况的原因是,进程已打开文件或在目标目录中设置了工作目录

docker - 关于系统根证书池加密/x509 的警告

docker - Boot2Docker/Windows 平台上的 Fig 支持

Docker compose 挂载空卷

postgresql - docker-compose:postgres 数据不持久

python - Windows 7 - Python 的右键单击上下文级联菜单

c++ - 中间错误 MIDL2379

c - 在服务器上远程执行自定义命令 c windows

php - 在 Docker 中从 php 连接到 mysql

docker - 在docker-compose服务之间进行通讯时遇到问题