私有云中部署/自动化/组织虚拟机的推荐工具

39次阅读
没有评论

问题描述

在私有云上使用vSphere管理一组虚拟服务器。在这个私有云中,有几组托管了多个Web应用程序的服务器,例如:
– Webpress网站
– PHP手机应用程序
– Java Web应用程序
– Alfresco
– Redmine
– Nagios
– Jenkins
– Odoo

这些应用程序托管在不同的服务器上,架构混合了多种技术:
– 防火墙
– 反向代理/负载均衡/SSL终止(Haproxy)
– 缓存服务器
– Web服务器
– LDAP目录服务器
– 用于集中备份并将其发送到远程NAS的服务器

用户在管理这些应用程序时遇到了复杂性问题,因为每个应用程序都有一个托管它的VM服务器,另一个包含其数据库的服务器,还有一个保存数据的服务器等等。

用户希望了解有哪些工具可以使他的工作更轻松,包括部署、自动化、维护、应用程序组织和安全性等方面。此外,用户还想了解如何组织和保存每个服务器的配置。

用户还询问是否有其他架构或解决方案可以推荐。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

对于新的构建,可以考虑使用容器编排工具,如Docker和Kubernetes。这样可以将应用程序容器化,并使用Kubernetes等容器编排工具来管理部署。但是,这需要对应用程序进行重新设计,以符合“十二要素方法论”。

亚马逊、Azure和Google都提供了Kubernetes云服务。如果希望继续使用私有云,可以考虑使用OpenShift,它是最受欢迎的Kubernetes产品之一。

方案2

对于现有的应用程序,标准化是减少成本和开销的出路。可以使用一些自动化工具来管理应用程序的部署、补丁和升级。同时,限制其他人的root访问权限,只允许他们通过自动化工具进行安装。

以下是一个完全自动化的VMWare私有云示例:
1. 为新的构建引入容器编排工具,如OKD或商业版本的OCP。
2. 将现有的应用程序打包为自动化系统(如Puppet Enterprise)可以管理的形式,以实现部署、补丁和升级的自动化。
3. 取消其他人的root访问权限,要求他们只能通过自动化工具进行安装。

通过这种方法,可以为团队提供“自助服务”,让他们通过Kubernetes的Web界面和命令行工具进行自助服务。OKD是一个基于Kubernetes的发行版,专注于“自助服务DevOps”,在三个大型组织的三个大型系统构建中,我见过它非常成功地运行。它可以安装在您任意管理的Linux虚拟机上,并且有来自大型Linux供应商的商业支持。

对于现有的应用程序,标准化是减少成本和开销的出路。在一个私有云平台上,可以使用VMWare vRA为内部客户提供蓝图,以启动标准化的主机配置,如数据库、消息代理、Web服务器和“纯净”(普通)Linux主机。启动的映像已安装Puppet Agent,并且Puppet Enterprise Server强制执行标准。如果使用root来更改配置,则Puppet Agent每20分钟运行一次,并将配置恢复为与Puppet配置匹配。

Puppet配置都在git中,并且一个单独的Puppet Hiera配置存储库定义了所有主机的所有配置设置。一个git存储库包含了基本操作系统的Hiera配置,其中包含了数据库配置或应用程序配置的不同覆盖(例如应用内核设置)。第二个git存储库保存了应用程序配置的Hiera配置(例如安装和启动Oracle数据库、消息代理或Web服务器)。第三个存储库保存了任何主机级别的覆盖配置,用于处理复杂应用程序或尚未包含在该应用程序配置中的生产修复。

Puppet会为实际主机选择最具体的配置设置。它首先查找特定于主机的设置,然后查找应用程序配置的特定设置,最后使用操作系统的默认设置。所有配置都在git中,并通过代码审查的方式进行管理。这是真正的基础设施即代码,由GitHub Enterprise进行管理。

对于内部应用程序,团队还没有使用Kubernetes。团队在VMware vRA门户上启动了“纯净”Linux蓝图,而不是特定的应用程序蓝图。因此,他们可以启动一个Oracle数据库蓝图和三个纯净Linux蓝图来运行他们的Java代码。对于纯净Linux,它具有所有访问管理包(Centify),团队只需使用scp上传他们的Java代码。团队使用Ansible Tower通过非root ssh访问上传他们的Java应用程序。这是由Jenkins部署作业驱动的。

方案3

推荐使用Terraform。许多公司都在使用它,它是业界标准之一。这个工具基本上是基础设施即代码的缩写。

以上是一些推荐的工具和方法,可以帮助您在私有云中部署、自动化和组织虚拟机。具体选择取决于您的需求和现有的基础设施。希望这些信息对您有所帮助!

正文完