虽然应用程序的可移植性(即能够在任何一个主机上运行相同的应用程序)仍是采用Linux容器的主要动力,但优化服务器的利用率这另一个关键的优势能够使得你仅占用计算机的很少部分的计算。当然,对于像PROD这种生产环境(正式环境),你可能还是倾向于分配足够的CPU和内存来满足工作所需–但是在DEV/TEST环境中,通常这些环境大多数需要计算机资源的消耗,因此优化服务器的利用率可以有效地进行成本节约。
表面上这些听起来都很不错–但是DevOps 工程师和基础运营商仍在与下列问题作斗争:
DCHQ提供托管和内部部署版本,解决了上述所有这些挑战,它为基础运营商和DevOps 工程师提供了最先进的基础设置配置、自动缩放、集群和配置策略。
通过集群可以让混合云和本地开发设备的服务器关联,这是一个逻辑映射的基础设施。该集群具有以下高级选项:
除了先进的基础设施配置和集群功能,DHCQ还通过先进的应用集成框架简化了企业级应用程序的容器化过程。并通过交叉镜像环境变量延伸了Docker Compose;可扩展的BASH脚本插件可以调用请求时间或者规定位置;高可用性的应用程序集群在多主机或者区域间支持自动缩放。
一旦应用程序配置完成,用户可以监控所运行容器的CPU、内存和I/O情况。并能得到通知或者警报,进行day-2操作如定时备份、利用BASH脚本插件进行Container Update或者调节In/Out规模。此外,开箱即用的工作流程促进持续交付,Jenkins使开发人员在不破坏现有的依赖关系和集成的条件下,能够刷新运行的应用程序的Java WAR文件。
在这篇博文里,我们将要在Rackspace上利用不到45分钟的时间在一个由30个4GB内存的云服务器组成的集群上部署10,000个Nginx 容器。将覆盖:
为了模拟企业部署 10,000 Docker Nginx 容器的实际情况,我们使用如下的配置:
一旦登录DCHQ(宿主 DCHQ.io或者内部部署版本),用户可以看到Manage > Templates,然后单击+按钮来创建一个Docker Compose模板。
为了测试可扩展性,我们创建了一个简易Nginx 集群。你会注意到cluster_size参数允许用户来设定所需容器的数量(利用相同的应用程序依赖关系)。
mem_min参数允许用户设定要分配到容器中的内存的最小值。
Host参数允许用户指定部署容器所需的主机。这样用户就可以确保不同的主机(或区域)中应用程序服务器集群的高可用性,同时用户可以遵循亲和规则以确保数据库在单独的主机上运行。以下是主机的参数值:
一旦保存了应用程序,用户可以注册一个Cloud Provider来自动配置和自动缩放集群。这里有13种不同的云可选择包括:vSphere、 OpenStack、CloudStack、Amazon Web Services、Rackspace、Microsoft Azure、 DigitalOcean、HP Public Cloud、IBM SoftLayer、Google Compute Engine和其他。
首先,用户可以利用如下指示在Rackspace(例如)上注册Cloud Provider,Manage >Repo 或者 Cloud Provider,然后点击+按钮选择Rackspace。这里需要Rackspace API 密钥—密钥可以账户设置部分检索。
用户可以利用自动缩放策略自动启用新云服务器来创建新的集群。步骤如下:Manage > Clusters页面然后点击+按钮。你可以选择容量为基础的布局策略,然后Weave成网络层目的是以便安全、集群内多个主机间密码保护的跨容器通信。
用户可以在新创建的集群中添加一些云服务器按照如下指示:Manage > Hosts然后点击+按钮并选择Rackspace。一旦选定云服务提供商,用户可以选择所需的区域、大小和镜像。然后选择一个集群并且可以指定云服务器的数量。
一旦云服务器配置完成,用户可以利用DCHQ’s REST API’s以编程的方式部署Nginx 集群。为了简化API’s的使用,用户需要选择创建焦躁的集群作为默认集群。可以通过向导User’s Name > My Profile然后选择所需的默认集群。
一旦选择了默认的集群,用户可以简单地执行如下curl脚本来调用“部署”API (https://dchq.readme.io/docs/deployid)。
在这个简单的curl脚本中,如下:
你可以尝试着自己写curl 脚本。当然你也可以提前安装 DCHQ(https://dchq.co/dchq-on-premise.html)或者在DCHQ.io Hosted PaaS 上注册(https://dchq.io)。
DCHQ允许用户监视集群、主机和容器的CPU、内存和I/O。
在我们配置10,000 容器前后需要跟踪主机和集群的性能。
在旋转容器之前,已经捕捉到了主机的性能图表截图。可以看出CPU的利用率是可以忽略不计的并且内存的利用率为16%。
下面的截图来自Rackspace 账户,显示30台虚拟机成功配置后情况。我们规定一个 DCHQ用户x10个集群所对应的三台主机共用一个Rackspace 账户。
旋转5,000个容器后,我们又捕获了主机的性能图表的截图。可以看出此时内存利用率高达48%。
当达到6,000个容器时,我们把范围缩小到3台主机(集群之一)中的一台主机时来查看更多的细节。比如容器在特定主机上运行时的#,镜像的数量,以及CPU/内存/磁盘利用率。
当旋转10,000个容器后,我们捕获了主机的性能图表的截图。可以看出此时最高的内存利用率达到74%。
我们把范围缩小到3台主机(集群之一)中的一台主机时,会发现更多的细节。比如容器在特定主机上运行时的#,镜像的数量,以及CPU/内存/磁盘利用率。
这里是1000 Nginx集群运行时的总览(每个集群中有10个容器)。
在删除所有基于容器的应用程序之后,我们捕获了集群的其他截图。此时内存利用率为19%。
然后,我们把范围缩小到其中的一个服务器来观察其历史表现–内存利用率从75%一路下降到19%的过程。
在这一测试中,10000个容器仅有4个容器出现故障–设置故障率为0.0002%。
策划基于Docker的应用程序部署对于很多DevOps 工程师和基础运营商来说仍是一个挑战,他们往往很难管理访问控制、监控、网络、基于容量的布局、自动扩展策略的多开发团队间服务器池。
提供托管和内部部署版本的DCHQ解决了这些挑战,它为基础运营商和DevOps 工程师提供了最先进的基础设置配置、自动缩放、集群和配置策略。
除了先进的基础设施配置和集群功能,DHCQ还通过先进的应用集成框架简化了企业级应用程序的容器化过程。并通过交叉镜像环境变量延伸了Docker Compose;可扩展的BASH脚本插件可以调用请求时间或者规定位置;高可用性的应用程序集群在多主机或者区域间支持自动缩放。
在https://DCHQ.io免费注册或者下载DCHQ On-Premise以访问使用多层Java应用模板和获得应用程序的生命周期管理功能,如监测、容器更新、输出/输入的规模和持续性交付。
原文链接:Run 10,000 Docker Containers In Less Than 45 Minutes On 30 Rackspace
Cloud Servers With 4GB Of Memory Each(译者/刘崇鑫 审校/朱正贵 责编/仲浩)
译者简介:刘崇鑫,北京邮电大学研究生在读,专业光通信工程。
本文为ImapBox编译整理,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)
本网页所有文字内容由 imapbox邮箱云存储,邮箱网盘, iurlBox网页地址收藏管理器 下载并得到。
ImapBox 邮箱网盘 工具地址: https://www.imapbox.com/download/ImapBox.5.5.1_Build20141205_CHS_Bit32.exe
PC6下载站地址:PC6下载站分流下载
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox 网页视频 工具地址: https://www.imapbox.com/download/ImovieBox4.7.0_Build20141115_CHS.exe
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算