使用Terraform升级Cloud Composer 1.0到2.0出现400错误如何解决
问题排查与修复方案
1 非阻断性Provider版本约束废弃警告修复
该警告触发原因是你当前在provider "google"配置块内声明了版本约束,该写法在Terraform 0.13+版本已弃用,修复方案如下:
- 打开你的
provider.tf配置文件 - 在顶层
terraform块的required_providers字段内声明Google Provider版本约束,删除原provider "google"块内的version配置行
参考修改后的配置示例:
terraform { required_providers { google = { source = "hashicorp/google" version = "~> 3.22" } } } provider "google" { # 保留原有的region、project等配置,仅删除version行 region = "your-region" project = "your-project-id" }
2 阻断性400错误修复
该错误触发原因是Cloud Composer 2版本对Airflow核心配置做了托管限制:[core]store_dag_code、[core]store_serialized_dags两个参数为平台默认管控配置,禁止用户手动覆盖。
修复方案:
- 打开你Composer模块的
main.tf配置文件 - 找到
google_composer_environment资源下的airflow_config_overrides配置块 - 删除块中
core.store_dag_code和core.store_serialized_dags两项自定义配置
修改完成后重新执行terraform plan和terraform apply即可正常执行升级操作,Composer 2会自动为这两个参数配置符合平台规范的最优值。
内容的提问来源于stack exchange,提问作者slashie
相关产品推荐
相关产品推荐

