[本文由Ritesh Patel撰写。]
随着应用程序容器(application container)的技术越来越被大众接受,设计用于运行容器的“最轻量级”操作系统正在变得非常流行。CoreOS便是这样的一个操作系统。CoreOs可以运行目前流行的,原生化云的应用程序,并能够为Docker容器提供支持。
在这篇文章中,我将介绍如何使用Nirmata在CoreOS上部署和运行微服务应用程序。其实,它的高阶步骤非常简单:
我将在下面详细地介绍每一步。
准备好了吗?Let's go!
在Nirmata中,主机组是一组相同的资源。我们可以为每个云提供商定义一个或多个主机组,然后将主机组映射到应用程序和服务级别的策略当中去。
Nirmata可以同时支持多个公有和私有云提供商。为了开启这项设置,我将使用“其他”作为提供程序的类型,并将各个CoreOS实例直接连接到我的主机组当中。
第一步,我们需要在Nirmata当中为CoreOS虚拟机创建一个新的主机组。这可以通过点击主机组->其他,然后单击添加主机组按钮来完成。在这个向导中,我们可以指定主机组的名称和资源选择的策略。
在资源选择策略中,我将选择“Sandbox(沙盒)”作为环境类型,“availableMemory”作为放置类型。这个策略可以确保每当在“沙箱”环境中部署的应用程序时,它会使用CoreOS群集,并会根据群集内的VM上提供的内存来放置容器。
创建了这个主机组之后,我们就可以将CoreOS虚拟机添加到集群当中。并且,用于设置虚拟机连接到Nirmata和添加到此主机组的CLI命令也会在界面上显示出来。
为了设置我的CoreOS虚拟机与Nirmata可以一同使用,我可以通过SSH来访问虚拟机并运行一些命令来设置我的虚拟机,使它连接到Nirmata并添加到我的主机组当中去。这条命令也会显示在主机组页面上:
sudo curl -sSL http://www.nirmata.io/nirmata-host-agent/setup-nirmata-agent.sh | sudo sh -s other <host-group-id>
这个命令将下载Host Agent容器的映像,并将其作为systemd服务运行。
您可以使用docker ps命令验证主机代理是否正在运行:
一旦主机代理正在运行,它将会连接Nirmata并将主机添加到主机组
您可以重复此步骤来将多个CoreOS VM添加到主机组当中。我额外添加了一个虚拟机到我的主机组,所以我的CoreOS集群现在会有有2个虚拟机。
现在,我准备部署我的应用程序了!其实,我已经在Nirmata导入了一个包含6个服务的小型演示应用程序,如下图所示。
要创建部署此应用程序的环境,请点击“环境”,然后单击“添加环境”。在向导中,选择环境类型为“沙盒”,并选择应用程序为“shopme-demo”。
点击完成开始部署环境。在这时,我们应该能看到容器(服务)正在被部署。
在几分钟内,所有的服务将会部署完成并开始运行。
现在,我可以通过转到主机组视图并查看主机来验证是否部署完成。如下图所示,我可以看到每个主机都部署了3个容器。
我也可以通过检查我的虚拟机来验证我的容器是否已经部署。
一旦我的应用程序被部署,我可以主动监控它并通过Nirmata来管理它。我可以非常轻松地将其他主机添加到我的主机组,并能够扩容或缩减我的容器。
正如您所看到的,在几分钟内,您就可以创建一个虚拟机集群,并与Nirmata共同来部署分布式应用程序。并且一旦部署完成,应用程序也可以很容易地被监控和管理。您觉得怎么样?快来试试看并告诉我们您的想法和建议吧!
如果您想要将CoreOS群集部署在不同的云提供商上,可以参考我们的文档。