使用CoreOS,Docker和Nirmata部署微服务风格的应用程序


[本文由Ritesh Patel撰写。]

随着应用容器的运用持续火热,设计用于运行容器的“最小”操作系统也悄然而生。CoreOS就是其中一个操作系统,它被设计用于运行现代原生云应用,并且支持Docker容器。

在这篇文章中,我将介绍如何使用Nirmata在CoreOS上部署和运行微服务应用程序,可以简单分为以下几个主要步骤:

  1. 创建一个主机组
  2. 搭建一个CoreOS VM
  3. 部署一个应用程序

下面我会详细介绍每一步。

创建一个主机组

对于Nirmata,主机组相当于一个相同的资源池。您可以为每个云提供商定义一个或多个主机组,然后将主机组映射到应用程序和服务级别策略。

Nirmata支持多个公共和私有云提供商。因为有这样的设定,我决定采用“不尽相同”的提供商,并将各个CoreOS实例直接连接到我的主机组。

第一步是用Nirmata为CoreOS虚拟机创建一个新的主机组。选择“Host Groups” - >“Other”,然后点击“Add Host Group ”按钮添加主机组。在创建向导中,说明主机组的名称,然后配置其资源选择策略。

在资源选择策略中,我选择“Sandbox”作为环境类型,“availableMemory”作为放置类型。此策略可确保每当在“沙箱”环境中部署应用时,会使用CoreOS集群并根据集群内的VM提供的内存来放置容器。

创建好主机组后,就能将CoreOS虚拟机添加到集群中,同时会给出用于设置虚拟机连接Nirmata并添加到主机组的CLI命令。

搭建一个CoreOS VM

为了搭建CoreOS虚拟机与Nirmata一起运作,可以使用SSH访问虚拟机并运行命令来将虚拟机连接到Nirmata并添加到我的主机组。在Host Groups页面已经给出了这条命令:

sudo curl -sSL http://www.nirmata.io/nirmata-host-agent/setup-nirmata-agent.sh | sudo sh -s other <host-group-id>

运行该命令会下载Host Agent容器映像,并将其作为systemd service运行。

你可以使用docker ps命令验证主机代理是否正在运行:

如果主机代理在运行,它就会连接到Nirmata并且主机将被添加到主机组

你可以重复此步骤将多个CoreOS VM添加到你的主机组。这里我添加了一个虚拟机到我的主机组,所以可以看到CoreOS集群里有2个虚拟机。

部署您的应用程序

完成后就可以准备部署应用程序了,这里我已经在Nirmata导入了一个包含6个服务的小型演示应用。

要创建部署此应用的环境,请选择“Environments”然后点击“Add Environment”来添加环境。在向导中,选择环境类型为“Sandbox”,应用程序为“shopme-demo”。

点击完成按钮即可开始环境部署,之后你会看到容器(服务)被部署。

等待几分钟,所有的服务部署完成后就会运行。

可以通过转到Host Groups页面查看主机来验证这一点,这里可以看到每个主机都部署了3个容器。

也可以通过检查我的虚拟机来验证我的容器是否被部署。

完成应用部署后,我就能通过Nirmata来监控和管理它。我可以轻松地将其他主机添加到我的主机组,以及放大或缩小容器。

正如你所看到的,在这短短几分钟内就创建好了一个虚拟机集群,以及用Nirmata部署了一个分布式应用,不仅如此,监控和管理应用也相当容易。何不试一试,分享你的想法!

可以参考我们的文档尝试将CoreOS集群部署在不同的云提供商上,。


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号