使用编排工具将我的应用程序部署到多个vms的集群

时间:2015-07-31 10:29:37

标签: linux docker virtual-machine kubernetes

Kubernetes是Docker容器的编排系统。这意味着:我可以使用它来部署和扩展我的应用程序,它将确保我的应用程序(包含微服务)已启动并运行。

现在我想用它将我的应用程序部署到集群。 我的集群由3台运行Ubuntu(或任何其他需要的Linux发行版)的虚拟机组成。

所以我准备了:

  • 运行Ubuntu的3个vms(它们都安装了docker)。
  • 我的电脑(我正在使用Windows,但在Virtualbox虚拟机上安装了Ubuntu桌面)。

**我的目标:**

  • 将我的应用程序部署到本地计算机上的群集(由多个节点组成)。

我的问题:

我从哪里开始,或者我缺少什么,因为我觉得跟进起来有点困难。

如果你让我学习如何部署

,我将不胜感激

我已经熟悉Docker的概念了,我已经在我的开发机上使用过了,但我在这里遗漏了一些东西,请帮助我。

谢谢。

PS:我需要一个编排工具来管理我的群集,这就是为什么我选择Kubernetes,如果你认为我需要别的东西(Shipyard,Flynn,Deis)或任何其他工具,我会很感激。< / p>

PPS:我最近发现这个页面awesome-docker包含很多信息,但我仍然遗漏了一些东西。

2 个答案:

答案 0 :(得分:0)

要开始使用Kubernetes,请尝试:kubernetes.io,“入门”链接非常好。他们展示了许多不同的方法。从已安装的Linux开始,您有两个不同的示例,一个显示手动安装(可能是您正在寻找的),另一个安装基于Ansible。

最简单的入门方法是使用Vagrant安装示例。

你的目标是一个强大的问题。归结为:

  • 如何创建Kubernetes群集?
  • 如何打包我的应用程序以在云环境中运行(可能已经完成)?
  • 如何使用群集运行我的应用程序?

我对您列出的编排工具(Shipyard,Flynn,Deis)了解不多。在我看来,要看的是Kubernetes,Mesos,Fleet,DockerCompose,按顺序。

在我理解所有部分之前,我花了几个星期的时间尝试让集群运行,我想你可能不得不勉强通过它。 SO是提出具体问题的好地方。还有一个名为Google Containers的Google小组,您可以提出问题。还有一个irc频道。

答案 1 :(得分:0)

Kubernetes和Docker可能还不错。安装kubernetes的好指令是https://access.redhat.com/articles/1353773,或来自kubernetes docs。安装完成并完成授权后,请使用

进行检查
> kubectl get nodes
> kubectl get services

我们使用Docker图像中的JSON文件直接运行计算窗格

> kubectl create -f podXXX.json

podXXX.json看起来像

{
    "kind": "Pod",
    "apiVersion": "v1",
    "metadata": {
       "name": "jobXXX"
    },
   "spec": {
     "containers": [
     {
        "name": "jobXXX",
        "image": "my_docker",
        "workingDir": "wrkdir",
        "command": [ "python", "run.py"],
        "args": ["12345678"],
        "resources": {
            "limits": {
                "cpu": "700m"
            }
        }
      }
    ],
    "restartPolicy": "Never"
  }
}

如果您需要autorestartable服务,您可以创建/使用复制

> kubectl get rc