配置 Compute Engine MIG

在应用设计中心,您可以配置 Compute Engine 托管式实例组 (MIG),以通过负载均衡、自动扩缩和自动修复功能将一组虚拟机实例作为单个实体进行管理。您可以根据特定的组件连接和配置参数自定义 MIG。配置参数列在 terraform-google-vm Terraform 模块中。

组件连接

下表列出了您可以连接到 Compute Engine MIG 的组件,以及对应用及其生成的 Terraform 代码所做的相应更新。

关联的组成部分

应用更新

背景信息

全球 Cloud Load Balancing 后端

  • 负载均衡器可以将传入流量分配到 Compute Engine MIG。
  • Compute Engine MIG 会添加到 Cloud Load Balancing 后端服务组字段中。
设置具有托管式实例组后端的传统应用负载均衡器

区域级 Cloud Load Balancing 后端

  • 负载均衡器可以将传入流量分配到 Compute Engine MIG。
  • Compute Engine MIG 已添加到 Cloud Load Balancing 后端服务组字段。
使用虚拟机实例组后端设置区域级外部应用负载均衡器

Compute Engine 实例模板

  • Compute Engine 实例模板用于在代管式实例组中创建实例。
  • 实例模板页内链接会添加到 Compute Engine MIG。
创建托管式实例组 (MIG) 的基本场景

必需的配置参数

如果您的模板包含 Compute Engine MIG 组件,则必须在部署之前配置以下参数。

参数名称

说明和限制

背景信息

项目 ID

您要在其中创建 Compute Engine MIG 的项目。

配置组件

区域

区域 区域级 MIG 简介

实例模板

instanceTemplate 实例模板简介

可选配置参数

以下参数是可选的。如需显示高级参数,请在配置区域中选择显示高级字段。

功能

参数名称

说明和限制条件信息

背景信息

MIG 名称

name mig_name

主机名

实例的主机名前缀。

主机名

目标大小

targetSize 创建启用了自动扩缩功能的 MIG。

最大副本数

autoscalingPolicy.maxNumReplicas 创建启用了自动扩缩功能的 MIG

最小副本数

autoscalingPolicy.minNumReplicas 创建启用了自动扩缩功能的 MIG

自动扩缩模式

autoscalingPolicy.mode 自动扩缩模式

目标池

targetPools[] 将代管式实例组添加到目标池

分布政策目标形状

distributionPolicy.targetShape feedback 区域级 MIG 目标分布形状

分发政策区域

distributionPolicy.zones[] 为区域级 MIG 中的虚拟机设置目标分布形状

有状态磁盘

设备名称

statefulPolicy.preservedState.disks[] 在 MIG 中配置有状态永久性磁盘

删除规则

statefulPolicy.preservedState.disks[].autoDelete 在 MIG 中配置有状态永久性磁盘

有状态 IP 地址

接口名称

statefulPolicy.preservedState.internalIPs[] 在 MIG 中配置有状态 IP 地址

删除规则

statefulPolicy.preservedState.internalIPs[].autoDelete 在 MIG 中配置有状态 IP 地址

是否为外部

statefulPolicy.preservedState.externalIPs[] 在 MIG 中配置有状态 IP 地址

更新政策

固定最大激增量

updatePolicy.maxSurge.fixed 超额配置数量上限

实例重新分布类型

updatePolicy.instanceRedistributionType 主动式实例重新分布

最大激增百分比

updatePolicy.maxSurge.percent 超额配置数量上限

Max Unavailable Fixed

updatePolicy.maxUnavailable.fixed 不可用数量上限

最大不可用百分比

updatePolicy.maxUnavailable.percent 不可用数量上限

Min Ready Sec

updatePolicy.minReadySec 最短等待时间

替换方法

updatePolicy.replacementMethod 替换方法

极简操作

updatePolicy.minimalAction 极简操作

类型

updatePolicy.type 更新类型

允许的最具中断性的操作

updatePolicy.mostDisruptiveAllowedAction 允许的最具中断性的操作

健康检查名称

name 健康检查概览

健康检查

类型

type 健康检查类别、协议和端口

初始延迟秒数

autoHealingPolicies[].initialDelaySec 在 MIG 中配置自动修复政策

检查间隔(秒)

checkIntervalSec 在 MIG 中配置自动修复政策

状况良好判断阈值

healthyThreshold 在 MIG 中配置自动修复政策

超时秒数

timeoutSec 良好的自动修复健康检查需要具备哪些特点

状况不佳判断阈值

unhealthyThreshold 在 MIG 中配置自动修复政策

答案

httpsHealthCheck.response HTTP、HTTPS、HTTP/2 成功标准

代理标头

httpsHealthCheck.proxyHeader 标题

端口

httpsHealthCheck.port 健康检查类别、协议和端口

请求

tcpHealthCheck.request HTTP、HTTPS、HTTP/2 成功标准

请求路径

httpsHealthCheck.requestPath HTTP、HTTPS、HTTP/2 成功标准

主机

httpsHealthCheck.host 标题

启用日志记录

logConfig.enable 健康检查日志记录信息

自动扩缩器名称

name

如果为空,则名称派生自 hostname。

已启用自动扩缩

为 MIG 创建自动扩缩器。

自动扩缩实例组

冷却期

autoscalingPolicy.coolDownPeriodSec 初始化期

自动扩缩 CPU

目标

autoscalingPolicy.cpuUtilization.utilizationTarget 根据 CPU 利用率进行扩缩

预测方法

autoscalingPolicy.cpuUtilization.predictiveMethod 预测性自动扩缩

自动扩缩指标

名称

name 自动扩缩以将指标维持在目标值

目标

autoscalingPolicy.customMetricUtilizations[].utilizationTarget 自动扩缩以将指标维持在目标值

类型

autoscalingPolicy.customMetricUtilizations[].utilizationTargetType 自动扩缩以将指标维持在目标值

伸缩时间表

已停用

autoscalingPolicy.scalingSchedules[].disabled 根据时间表进行扩缩

时长(秒)

autoscalingPolicy.scalingSchedules[].durationSec 扩缩时间表设置

所需的最小副本数

autoscalingPolicy.scalingSchedules[].minRequiredReplicas 扩缩时间表设置

名称

autoscalingPolicy.scalingSchedules[] 创建伸缩时间表

时间表

autoscalingPolicy.scalingSchedules[].schedule 扩缩时间表设置

时区

autoscalingPolicy.scalingSchedules[].timeZone 扩缩时间表设置

自动扩缩缩减控制

固定副本

autoscalingPolicy.scaleInControl.maxScaledInReplicas.fixed 配置缩减控制机制

副本百分比

autoscalingPolicy.scaleInControl.maxScaledInReplicas.percent 配置缩减控制机制

Time Window Sec

autoscalingPolicy.scaleInControl.timeWindowSec 配置缩减控制机制

已命名端口

名称

namedPorts[].name 已命名端口

端口

namedPorts[].port 已命名端口

等待实例

是否等待所有实例创建/更新完毕后再返回。如果设为 true,当操作失败时,Terraform 会继续尝试,直到达到超时时间。

wait_for_instances

MIG 超时

创建

Terraform 实例创建超时。

create

更新

Terraform 实例更新超时。

update

删除

Terraform 实例删除超时。

删除

标签

键

allInstancesConfig.properties.labels 使用标签整理资源

值

allInstancesConfig.properties.labels 使用标签整理资源