使用CoreOs,Docker和Nirmata部署微服务类型的应用

[本文由Ritesh Patel撰写。]

随着采用应用容器的持续增长,设计用于运行容器的“最小”操作系统正在普及。CoreOS就是这样的一个操作系统。CoreOs是为运行现代云原生应用,并为Docker容器提供支持所设计的。

在这篇文章中,我将介绍如何在CoreOS上使用Nirmata部署和运行微服务应用。高级的步骤很简单:

  1. 创建主机组
  2. 安装CoreOS VM
  3. 部署应用

我将在下面详细介绍每一步。

创建主机组

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

Nirmata支持一些公有和私有云提供商。对于这次安装,我将使用“其他”提供者类型,并将各个独立的CoreOS实例直接连接到我的主机组。

第一步是在Nirmata为CoreOS虚拟机创建一个新的主机组。通过转到主机组 - >其他,然后单击添加主机组按钮来完成。在向导中,我可以指定主机组的名称和资源选择策略。

在资源选择策略中,我选择“Sandbox (沙箱)”作为环境类型,“availableMemory (可用内存)” 作为放置类型。此策略可确保不论何时在“沙箱”环境中部署应用程序,都使用CoreOS群集,并根据群集内的虚拟机上可用的内存来放置容器。

一旦这个主机组创建了,我现在可以将我的CoreOS虚拟机添加到集群中。它还会显示用于安装连接到Nirmata的虚拟机并添加到此主机组的CLI命令。

安装CoreOS VM

要设置我的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>

该命令将下载主机代理容器映像,并将其作为systemd服务运行。

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

一旦主机代理正在运行,它将连接到Nirmata,并且主机被添加到主机组

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

部署您的应用

现在,我准备部署我的应用。我已经在Nirmata导入了一个包含6个服务的小型演示应用。

要创建部署此应用程序的环境,转到“Environments (环境)”,然后单击“Add Environment (添加环境)”。在向导中,选择环境类型为“Sandbox (沙箱)”,应用为“shopme-demo”。

点击完成以开始部署环境。你应该看到容器(服务)正在开始部署。

在几分钟内,所有的服务都部署完成并正在运行。

我可以通过转到主机组视图并查看主机来验证这一点。我可以看到每个主机都部署了3个容器。

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

一旦我的应用程序被部署,我可以主动监控并从Nirmata管理它。我可以轻松地添加其他主机到我的主机组,以及放大或缩小我的容器。

正如你所看到的,在几分钟内,你可以创建一个虚拟机集群,并用Nirmata部署分布式应用程序。一旦部署完成,应用也可以很容易地被监视和管理。试试看,让我们知道你的想法!

要将CoreOs群集部署在不同的云提供商上,你可以参考我们的文档

本文的版权归 anthlu 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

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

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

507110
来自专栏匠心独运的博客

消息中间件—RocketMQ消息消费(一)

文章摘要:在发送消息给RocketMQ后,消费者需要消费。消息的消费比发送要复杂一些,那么RocketMQ是如何来做的呢? 在RocketMQ系列文章的前面几...

49630
来自专栏待你如初见

Java中间件

18340
来自专栏开源项目

Git 项目推荐 | 基于go+protobuff 实现的分布式

eQ ? 基于go+protobuff实现的多种持久化方案的mq框架 Client For KiteQ Go: https://github.com/b...

537140

五分钟在笔记本上快速部署容器应用

按照以下步骤设置Nirmata并部署容器应用:

22780

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

随着应用程序容器(application container)的技术越来越被大众接受,设计用于运行容器的“最轻量级”操作系统正在变得非常流行。CoreOS便是这...

42670
来自专栏精讲JAVA

RocketMQ 源码学习 1 : 整体结构

为什么是 RocketMQ,而不是 ActiveMQ/RabbitMQ/Kafka 呢?这不是技术选型,我只是想找一个业界比较好的、开源的 MQ 系统,学习一下...

18530
来自专栏Java工程师日常干货

ActiveMQ从入门到精通(三)利用Zookeeper实现ActiveMQ的高可用

这是ActiveMQ系列的最后一篇文章,主要是关于ActiveMQ集群,这里采用的方式是:Zookeeper+LevelDB+ActiveMQ。前面2篇博客地址...

15730
来自专栏IT技术精选文摘

JMS与ActiveMQ

JMS是Java消息服务的缩写,它提供了一种以松耦合且灵活的方式对应用进行集成的机制。JMS以异步的方式在应用之间进行数据的存储转发。应用之间以MOM(面向消息...

23250
来自专栏匠心独运的博客

消息中间件—RocketMQ消息消费(三)(消息消费重试)

摘要:如果Consumer端消费消息失败,那么RocketMQ是如何对失败的异常情况进行处理? 前面两篇RocketMQ消息消费(一)/(二)篇,主要从Pus...

51430

扫码关注云+社区

领取腾讯云代金券