前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用CoreOs,Docker和Nirmata来部署微服务风格的应用程序

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

作者头像
Zach展
发布2018-01-15 13:20:50
1.4K0
发布2018-01-15 13:20:50

[本文由Ritesh Patel撰写。]

随着应用程序容器(application container)的技术越来越被大众接受,设计用于运行容器的“最轻量级”操作系统正在变得非常流行。CoreOS便是这样的一个操作系统。CoreOs可以运行目前流行的,原生化云的应用程序,并能够为Docker容器提供支持。

在这篇文章中,我将介绍如何使用Nirmata在CoreOS上部署和运行微服务应用程序。其实,它的高阶步骤非常简单:

  1. 创建一个主机组
  2. 设置一个CoreOS VM(虚拟机)
  3. 部署一个应用程序

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

准备好了吗?Let's go!

第一步:创建一个主机组

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

Nirmata可以同时支持多个公有和私有云提供商。为了开启这项设置,我将使用“其他”作为提供程序的类型,并将各个CoreOS实例直接连接到我的主机组当中。

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

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

创建了这个主机组之后,我们就可以将CoreOS虚拟机添加到集群当中。并且,用于设置虚拟机连接到Nirmata和添加到此主机组的CLI命令也会在界面上显示出来。

第二步:设置一个CoreOS VM(虚拟机)

为了设置我的CoreOS虚拟机与Nirmata可以一同使用,我可以通过SSH来访问虚拟机并运行一些命令来设置我的虚拟机,使它连接到Nirmata并添加到我的主机组当中去。这条命令也会显示在主机组页面上:

代码语言:javascript
复制
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群集部署在不同的云提供商上,可以参考我们的文档

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一步:创建一个主机组
  • 第二步:设置一个CoreOS VM(虚拟机)
  • 第三步:部署你的应用程序
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档