产品派
返回

Terraform Google Cloud 8.0发布:默认负载均衡方案调整

开源InfoQ 中文站2026/10/26 14:01:34
AI 导读

HashiCorp已正式推出Terraform Google Cloud Provider 8.0。该版本调整了两类Compute Engine资源的默认负载均衡行为,删除依赖已关闭或被替代服务的资源,并把部分没有顺序语义的属性从列表改为集合,以减少配置与API返回顺序不同造成的持续计划差异。由于存在破坏性变更,官方建议先升级到最新7.x版本并处理完弃用警告,再迁移到8.0。

影响最直接的是google_compute_backend_service和google_compute_global_forwarding_rule。两者的默认load_balancing_scheme均从EXTERNAL改为EXTERNAL_MANAGED,未指定该字段的配置将转向新的外部应用负载均衡器,而不再默认使用经典负载均衡器。若仍需维持经典行为,必须显式写入load_balancing_scheme = "EXTERNAL",否则Terraform可能计划修改现有资源。

8.0还移除了多类资源和数据源,包括因IAP OAuth Admin API关闭而删除的google_iap_brand、google_iap_client,三个google_notebooks_*资源,以及google_ml_engine_model。BeyondCorp的应用连接、连接器和网关资源也被移除,替代方案是Security Gateway资源;google_vertex_ai_schedule则应迁移到google_colab_schedule。升级前需清理配置中对这些资源的引用。

Schema方面,Compute Service Attachments、GKE日志与监控配置、Cloud Security Compliance Frameworks中的部分无序字段已由列表改为集合。部分API校验也更严格:google_workflows_workflow现在必须提供source_contents,创建Workforce Identity Pool Provider SCIM租户时必须填写claim_mapping。部分整数转字符串等状态变化可自动迁移,但其他类型变化或新增必填项仍需手动修改。

该版本也延续了7.x阶段的能力。Provider支持Terraform列表资源,可配合terraform query搜索状态之外的既有基础设施,并生成资源配置和导入配置,目前覆盖Compute Engine、IAM、BigQuery、Pub/Sub、Secret Manager、Migration Center和Network Services。Resource Identity支持进一步扩大,可用更清晰的远程对象标识进行导入;只写属性则能把证书私钥、AlloyDB密码和IAP凭证等敏感值提交给API而不保存到状态中。

建议用户先锁定Provider版本,升级至最新7.x并消除弃用警告,再在非生产环境测试8.0。代码搜索应重点覆盖已删除资源,以及未设置load_balancing_scheme的负载均衡器;执行terraform plan时,要特别检查销毁、替换、列表转集合、类型变化和新增必填属性。8.0已发布到Terraform Registry,由Google Cloud工程团队、HashiCorp和Terraform社区共同维护,官方未公布基准测试或采用数据,升级指南和GitHub变更日志仍是完整变更的权威依据。

使用OpenTofu的团队会受到大部分Provider级变化影响,包括EXTERNAL_MANAGED默认值、资源删除和列表转集合。只写属性要求OpenTofu 1.11或更高版本;terraform query及资源发现工作流目前没有对应的tofu query实现,相关issue仍在处理中,因此只能继续使用import块和生成配置。Resource Identity的兼容性尚未确认,升级前还应查看OpenTofu变更日志,并确认其Registry是否已有8.0构建版本。

TerraformGoogle Cloud基础设施即代码OpenTofu负载均衡

本文基于公开渠道信息整理,内容可能存在不准确或遗漏之处,不代表本站立场,如内容涉及侵权或错误,请联系我们处理。

阅读原文