如何在 Google Cloud Platform 中配置托管实例组和自动缩放
How do I configure managed instance group and autoscaling in Google Cloud Platform
自动缩放可帮助您根据负载自动添加或删除计算引擎。在 GCP 中自动缩放的先决条件是实例模板和托管实例组。
这个问题是另一个 question's answer 的一部分,它是关于构建一个自动缩放和负载平衡的后端。
我写了下面的答案,其中包含在 GCP 中设置自动缩放的步骤。
自动缩放是 GCP 中托管实例组的一项功能。这有助于通过扩展实例来处理非常高的流量,同时它还会在没有流量时缩减实例,从而节省大量资金。
要设置自动缩放,我们需要以下内容:
- 实例模板
- 托管实例组
- 自动缩放策略
- 健康检查
实例模板 是一个蓝图,用于定义机器类型、映像、将在自动缩放的托管实例组中 运行 的同类实例的磁盘。我已经写了设置实例模板的步骤。
托管实例组 有助于保留一组基于单个实例模板的同类实例。假设实例模板为sample-template。这可以通过 运行 gcloud 中的以下命令设置:
gcloud compute instance-groups managed \
create autoscale-managed-instance-group \
--base-instance-name autoscaled-instance \
--size 3 \
--template sample-template \
--region asia-northeast1
上述命令基于示例模板创建了一个包含 3 个计算引擎的托管实例组,这些引擎位于 asia-northeast1 区域的三个不同区域。
- base-instance-name 将是所有自动创建的实例的基本名称。除了基本名称之外,每个实例名称都将附加一个唯一生成的随机字符串。
- size 表示组中所需的实例数。截至目前,无论应用程序生成的流量有多少,3 个实例将一直 运行。稍后,可以通过对该组应用策略来自动缩放它。
- 区域(多可用区)或单可用区:托管实例组可以设置在一个区域(多可用区)中,即均匀分布同构实例跨给定区域中的所有区域,或者所有实例都可以部署在区域内的同一区域中。它也可以作为跨区域部署,目前处于 alpha 阶段。
自动缩放策略 决定了自动缩放器的行为。自动缩放器聚合来自实例的数据,并将其与策略中指定的所需容量进行比较,并确定要采取的操作。有许多自动缩放策略,例如:
平均 CPU 利用率
HTTP负载均衡服务能力(请求/秒)
Stackdriver 标准和自定义指标
现在,通过 运行 gcloud 中的以下命令向此托管实例组引入 Autoscaling:
gcloud compute instance-groups managed \
set-autoscaling \
autoscale-managed-instance-group \
--max-num-replicas 6 \
--min-num-replicas 2 \
--target-cpu-utilization 0.60 \
--cool-down-period 120 \
--region asia-northeast1
上述命令根据 CPU 利用率 设置自动缩放器,范围从 2(在没有流量的情况下)至 6(在交通繁忙的情况下)。
- cool-down-period 标志指定实例启动后关联的自动缩放器开始从中收集信息之前等待的秒数。
- 一个自动缩放器最多可以与 5 种不同的策略相关联。如果有多个策略,Autoscaler 会推荐留下最大实例数的策略。
- 有趣的事实:当一个实例被自动缩放器启动时,它确保该实例至少运行 10 分钟,而不管流量如何。这样做是因为 GCP 为计算引擎计费了至少十分钟 运行 的时间。它还可以防止实例的不稳定启动和关闭。
最佳实践: 从我的角度来看,创建安装了所有软件的自定义映像比使用启动脚本更好。因为在自动缩放组中启动新实例所花费的时间应该尽可能少。这将提高您扩展网络应用程序的速度。
这是 3-part series 的 第 2 部分 ,关于构建自动缩放和负载平衡的后端。
自动缩放可帮助您根据负载自动添加或删除计算引擎。在 GCP 中自动缩放的先决条件是实例模板和托管实例组。
这个问题是另一个 question's answer 的一部分,它是关于构建一个自动缩放和负载平衡的后端。
我写了下面的答案,其中包含在 GCP 中设置自动缩放的步骤。
自动缩放是 GCP 中托管实例组的一项功能。这有助于通过扩展实例来处理非常高的流量,同时它还会在没有流量时缩减实例,从而节省大量资金。
要设置自动缩放,我们需要以下内容:
- 实例模板
- 托管实例组
- 自动缩放策略
- 健康检查
实例模板 是一个蓝图,用于定义机器类型、映像、将在自动缩放的托管实例组中 运行 的同类实例的磁盘。我已经写了设置实例模板的步骤
托管实例组 有助于保留一组基于单个实例模板的同类实例。假设实例模板为sample-template。这可以通过 运行 gcloud 中的以下命令设置:
gcloud compute instance-groups managed \
create autoscale-managed-instance-group \
--base-instance-name autoscaled-instance \
--size 3 \
--template sample-template \
--region asia-northeast1
上述命令基于示例模板创建了一个包含 3 个计算引擎的托管实例组,这些引擎位于 asia-northeast1 区域的三个不同区域。
- base-instance-name 将是所有自动创建的实例的基本名称。除了基本名称之外,每个实例名称都将附加一个唯一生成的随机字符串。
- size 表示组中所需的实例数。截至目前,无论应用程序生成的流量有多少,3 个实例将一直 运行。稍后,可以通过对该组应用策略来自动缩放它。
- 区域(多可用区)或单可用区:托管实例组可以设置在一个区域(多可用区)中,即均匀分布同构实例跨给定区域中的所有区域,或者所有实例都可以部署在区域内的同一区域中。它也可以作为跨区域部署,目前处于 alpha 阶段。
自动缩放策略 决定了自动缩放器的行为。自动缩放器聚合来自实例的数据,并将其与策略中指定的所需容量进行比较,并确定要采取的操作。有许多自动缩放策略,例如:
平均 CPU 利用率
HTTP负载均衡服务能力(请求/秒)
Stackdriver 标准和自定义指标
现在,通过 运行 gcloud 中的以下命令向此托管实例组引入 Autoscaling:
gcloud compute instance-groups managed \
set-autoscaling \
autoscale-managed-instance-group \
--max-num-replicas 6 \
--min-num-replicas 2 \
--target-cpu-utilization 0.60 \
--cool-down-period 120 \
--region asia-northeast1
上述命令根据 CPU 利用率 设置自动缩放器,范围从 2(在没有流量的情况下)至 6(在交通繁忙的情况下)。
- cool-down-period 标志指定实例启动后关联的自动缩放器开始从中收集信息之前等待的秒数。
- 一个自动缩放器最多可以与 5 种不同的策略相关联。如果有多个策略,Autoscaler 会推荐留下最大实例数的策略。
- 有趣的事实:当一个实例被自动缩放器启动时,它确保该实例至少运行 10 分钟,而不管流量如何。这样做是因为 GCP 为计算引擎计费了至少十分钟 运行 的时间。它还可以防止实例的不稳定启动和关闭。
最佳实践: 从我的角度来看,创建安装了所有软件的自定义映像比使用启动脚本更好。因为在自动缩放组中启动新实例所花费的时间应该尽可能少。这将提高您扩展网络应用程序的速度。
这是 3-part series 的 第 2 部分 ,关于构建自动缩放和负载平衡的后端。