带有 Auto Scaling 的 Google Compute Engine 负载平衡。它会将我的网站复制到新实例吗?

Posted

技术标签:

【中文标题】带有 Auto Scaling 的 Google Compute Engine 负载平衡。它会将我的网站复制到新实例吗?【英文标题】:Google Compute Engine Load Balancing with Auto Scaling. Will it copy my website to new instances? 【发布时间】:2020-05-05 02:17:20 【问题描述】:

我是负载平衡和自动缩放的新手。我正在为网站使用 Google 计算引擎。我还创建了一个具有自动扩展功能的实例组。但现在我很困惑。 Auto Scaling 根据负载创建新实例。但是我在哪里更新网站?如果我在一个实例上进行 SSH 连接并更新网站,这是否会更新该组中的所有实例?

例如,我想将更新后的网页上传到实例组中我的 Apache 服务器实例上的 /var/www/html/。它会更新所有自动缩放的实例吗?自动添加新实例时,是否会复制带有网站的最新更新实例?

【问题讨论】:

【参考方案1】:

我建议您直接从 Cloud Storage 提供静态内容。不要将 html 页面上传到服务器,而是根据静态资源基本路径(例如 /static/)将其上传到 Google Cloud Storage 和 set up your Loadbalancer path

如果您想更新将由您的网络服务器处理和丰富的模板,我建议您发布一个新版本并执行转出。事实上,如果您对这个新模板有疑问,您打包的先前版本将很容易执行并保留这些模板的版本控制。

【讨论】:

【参考方案2】:

快速回答是否定的。

当您创建实例组时,您选择了一个实例模板,用于配置映像,因此每个新实例都将从此模板中的映像创建。

我很难给你一个完整的答案,因为我不知道你使用哪种部署方法,但如果是静态网站,也许你应该考虑使用谷歌云存储和谷歌CDN。

如果您确实想要更多控制权并且更喜欢将 google 计算与 LB 一起使用,您可以使用一些部署选项:

    使用新图像创建新模板并使用“滚动”组 更新”选项。 使用下载静态数据的启动脚本 来自 GCS(或其他地方,例如 github)并使用 实例组中的“替换/重启”选项。 Docker 镜像和 谷歌容器注册表。

当然还有更多选择,但我认为这些是最简单和最快的。

【讨论】:

【参考方案3】:

简短的回答是 如果要更新使用负载平衡的应用程序,最快的方法是滚动更新。 请按照给定的说明进行操作。

转到组实例页面 选择适当的实例组,然后从详细信息页面单击滚动更新。 将有多个选项,您需要根据自己的要求配置滚动更新。如果您不知道所有选项的含义,只需使用默认值单击“确定”。

希望对你有帮助。

【讨论】:

以上是关于带有 Auto Scaling 的 Google Compute Engine 负载平衡。它会将我的网站复制到新实例吗?的主要内容,如果未能解决你的问题,请参考以下文章

AWS Auto Scaling - 带有 2 个固定实例

AWS 和 Auto Scaling cassandra

AWS Auto Scaling 下降 ~/.ssh/authorized_keys

Auto-Scaling 组不会在启动配置更改时更新

Amazon EC2、Auto-Scaling、AMI,有没有更简单的方法?

AWS Beanstalk Auto-scaling Scaling Triggers with HealthyHostCount 或 UnhealthyHost count