Rackspace 的可靠性和地理分布促使许多初创公司和企业将其应用程序托管在分布在不同地区的云服务器上。然而,随着开发团队开始成长或企业开始新的开发项目,为快速成长的团队复制一致的 DEV/TEST 环境成为任何云基础架构上的难题。
DCHQ 简化了企业应用程序的容器化,并使得通过一键部署按钮在多台主机上复制非常复杂的应用程序环境成为可能。 DCHQ 不仅自动执行应用程序部署,而且还与 Rackspace 集成以自动配置和自动扩展由分布式云服务器组成的支持 Weave 的集群。
在此博客中,我们将介绍 Rackspace 上的自动化基础设施供应以及多层应用程序的自动化部署和生命周期管理。
首先,用户可以通过导航到 Manage > Repo & Cloud Provider 然后单击 + 按钮选择 Rackspace 来为 Rackspace 注册一个 Cloud Provider。需要提供 Rackspace API 密钥——可以从 Rackspace 云控制面板的“帐户设置”部分检索。
然后,用户可以使用自动扩展策略创建一个支持 Weave 的集群,以自动启动新的云服务器。这可以通过导航到“管理”>“数据中心和集群”页面然后单击 + 按钮来完成。您可以选择基于容量的放置策略,然后将 Weave 作为网络层,以促进集群内多个主机之间的跨容器通信。此示例中的自动缩放策略将 VM(或云服务器)的最大数量设置为 10。
用户现在可以通过导航到“管理”>“裸机服务器和虚拟机”,然后单击“+”按钮选择 Rackspace,在新创建的集群上配置多个云服务器。选择云提供商后,用户可以选择所需的区域、大小和图像。可以在新的云服务器上打开端口(例如,Docker 为 32000-59000,Weave 为 6783,RabbitMQ 为 5672)。然后选择数据中心(或集群)并指定云服务器的数量。
一旦配置了云服务器,用户就可以在新的云服务器上部署基于 Docker 的多层应用程序。这可以通过导航到自助服务库然后单击自定义来请求多层应用程序来完成。在此示例中,我们有一个多层应用程序,由 Nginx(用于负载平衡)、Tomcat(集群应用程序服务器)和 MySQL(作为数据库)组成。您会注意到 Nginx 正在调用 BASH 脚本插件以动态(或在请求时)在 default.conf 文件中添加应用程序服务器的容器 IP。 Tomcat 还调用 BASH 脚本插件从指定的 URL 部署 Java WAR 文件。您会注意到 cluster_size 参数允许您指定要启动的容器数量(具有相同的应用程序依赖性)。 主机 参数允许您指定要用于容器部署的主机。以下是主机参数支持的值:
- host1、host2、host3 等——在数据中心(或集群)中随机选择一个主机进行容器部署
- <IP Address 1, IP Address 2, etc.> -- 允许用户指定用于容器部署的实际 IP 地址
- <Hostname 1, Hostname 2, etc.> -- 允许用户指定用于容器部署的实际主机名
- 通配符 (例如“db-*”或“app-srv-*”)——指定在主机名中使用的通配符
用户可以在单击运行之前选择环境标签(如 DEV 或 QE)和为 Rackspace 创建的数据中心。
一旦应用程序启动并运行,用户就可以监控正在运行的容器的 CPU、内存和 I/O 利用率,并执行第 2 天的操作,例如备份、使用 BASH 插件的容器更新、扩展/扩展和持续交付.
在录制的演示中,我们将应用程序服务器集群从 2 个扩展到 3 个。
在 DCHQ.io 托管的 PaaS ( http://dchq.io ) 免费注册以开始使用