我们在AWS中有两个实例的负载均衡设置。我们使用SVN进行相当频繁的代码更新。我需要知道在集群中的所有实例中更新代码更改是多么容易。我们可以简单地执行“快照”并每次为实例创建新卷吗?...或?...
答案 0 :(得分:0)
我不会通过EBS快照进行更新。将EBS卷视为硬盘 - 如果您的软件有更新,则不会更改硬盘。
在版本控制系统中有代码时,代码更新应该非常简单,例如登录到(多个)服务器并执行git pull
或svn update
。这应该从您的服务器获取最新的代码文件。根据应用程序的类型,您之后必须执行一些其他任务,运行构建脚本,清空缓存等。
问题是这种设置不能很好地扩展。如果您有 n 服务器,则必须登录并执行此命令 n 次。因此,查看一步可以使用的远程管理工具是有意义的。使用大量这些工具,您还可以获得完整的配置管理堆栈:为每台服务器定义一组配方或任务(如已安装的软件包,配置文件,获取最新代码,必要的构建步骤),以及何时启动一个新服务器,它获取其最新版本的配置并自行安装。
常用配置管理工具包括Puppet或Salt。这两个工具都包含远程执行,这使得您的任务更容易发布代码库,您只需要在主服务器上发出一个命令,它就会自动在其所有的minions / slave服务器上执行此任务。