You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform调用1Password Provider执行Plan时报RPC传输关闭错误

问题原因

你遇到的rpc error: code = Unavailable desc = transport is closing、rpc error: code = Canceled desc = context canceled类报错,本质是Terraform Core和Provider进程之间的gRPC通信异常中断,几乎都是Provider进程触发未捕获的异常、直接崩溃退出导致的。

你这个场景的具体触发原因是配置存在低级引用错误:
你定义的两个1Password数据源资源名分别是search_cloud_id和search_api_key,但在kubernetes_secret资源的data块引用时,错误添加了api_前缀,调用了不存在的data.onepassword_item_password.api_search_cloud_id、data.onepassword_item_password.api_search_api_key资源。你使用的anasinnyk/onepassword v1.2.1版本对这类无效引用的异常处理存在缺陷,遇到该类错误时不会输出明确的配置错误提示,会直接触发panic导致进程退出,最终只会返回RPC连接断开的模糊报错。

解决方案
  • 第一步修正配置中的引用错误,将kubernetes_secret的data块修改为和你定义的数据源名一致:
resource "kubernetes_secret" "search" {
   metadata {
     name      = "search"
     namespace = kubernetes_namespace.production.id
   }
   data = {
     "ELASTICSEARCH_CLOUD_ID" = data.onepassword_item_password.search_cloud_id.password
     "ELASTICSEARCH_API_KEY"  = data.onepassword_item_password.search_api_key.password
   }
   type = "Opaque"
}
  • 修正后执行terraform init重新加载配置,再执行terraform plan即可正常运行。
  • 若仍有报错,可执行export TF_LOG=debug开启Terraform调试日志,重新运行plan命令即可查看崩溃前的详细错误信息,辅助定位问题。
  • 条件允许的前提下建议升级Terraform和对应1Password Provider的版本,新版Provider对这类配置错误做了容错处理,会直接输出明确的资源不存在提示,不会直接触发进程崩溃。

内容的提问来源于stack exchange,提问作者sighmon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 17:45:03