自动缩放可帮助您根据负载自动添加或删除计算引擎。在GCP中自动扩展的先决条件是实例模板和托管实例组。
这个问题是另一个question's answer的一部分,它是关于构建一个自动缩放和负载均衡的后端。
我写了下面的答案,其中包含在GCP中设置自动缩放的步骤。
答案 0 :(得分:16)
自动缩放是GCP中托管实例组的一项功能。这有助于通过扩展实例来处理非常高的流量,同时它还可以在没有流量时缩小实例,从而节省了大量资金。
要设置自动缩放,我们需要以下内容:
实例模板是一个蓝图,用于定义将在自动调整的托管实例组中运行的同类实例的计算机类型,映像和磁盘。我已经编写了设置实例模板here的步骤。
托管实例组有助于保留一组基于单个实例模板的同类实例。假设实例模板为 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
上述命令根据示例模板创建一个托管实例组,其中包含位于asia-northeast1区域的三个不同区域中的3个计算引擎。
自动调节策略确定自动调节器行为。自动缩放器聚合来自实例的数据,并将其与策略中指定的所需容量进行比较,并确定要采取的操作。有许多自动缩放策略,如:
平均CPU利用率
HTTP负载平衡服务容量(请求/秒)
Stackdriver标准和自定义指标
现在,通过在gcloud中运行以下命令,将自动扩展引入此托管实例组:
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 (以防万一)交通繁忙。)
最佳做法:从我的角度来看,最好使用安装的所有软件创建自定义映像,而不是使用启动脚本。由于在自动扩展组中启动新实例所需的时间应尽可能最短。这将提高您扩展Web应用程序的速度。
3-part series的第2部分关于构建自动调整和负载均衡的后端。