[本文由Ritesh Patel撰写。]
随着应用容器的运用持续火热,设计用于运行容器的“最小”操作系统也悄然而生。CoreOS就是其中一个操作系统,它被设计用于运行现代原生云应用,并且支持Docker容器。
在这篇文章中,我将介绍如何使用Nirmata在CoreOS上部署和运行微服务应用程序,可以简单分为以下几个主要步骤:
下面我会详细介绍每一步。
对于Nirmata,主机组相当于一个相同的资源池。您可以为每个云提供商定义一个或多个主机组,然后将主机组映射到应用程序和服务级别策略。
Nirmata支持多个公共和私有云提供商。因为有这样的设定,我决定采用“不尽相同”的提供商,并将各个CoreOS实例直接连接到我的主机组。
第一步是用Nirmata为CoreOS虚拟机创建一个新的主机组。选择“Host Groups” - >“Other”,然后点击“Add Host Group ”按钮添加主机组。在创建向导中,说明主机组的名称,然后配置其资源选择策略。
在资源选择策略中,我选择“Sandbox”作为环境类型,“availableMemory”作为放置类型。此策略可确保每当在“沙箱”环境中部署应用时,会使用CoreOS集群并根据集群内的VM提供的内存来放置容器。
创建好主机组后,就能将CoreOS虚拟机添加到集群中,同时会给出用于设置虚拟机连接Nirmata并添加到主机组的CLI命令。
为了搭建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集群部署在不同的云提供商上,。