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

如何用Terraform Kubernetes Provider创建等效于文件生成的Secret

Terraform 等效实现 kubectl 创建 Secret

你的当前代码问题在于basic.txt的内容没有保留原文件的换行格式,直接将username和password字段连在一起了,和kubectl create secret的效果不一致。

要实现完全等效的效果,需要让basic.txt的内容和原文件保持一致,即两行格式:

正确实现方式1:字符串拼接加换行符

resource "kubernetes_secret" "k8s_secret" {
  metadata {
    namespace = var.namespace
    name      = var.secret_name
  }
  data = {
    basic.txt = "username=${var.api_key}\npassword=${var.api_secret}"
  }
}

正确实现方式2:使用HEREDOC格式(更易读)

resource "kubernetes_secret" "k8s_secret" {
  metadata {
    namespace = var.namespace
    name      = var.secret_name
  }
  data = {
    basic.txt = <<-EOT
username=${var.api_key}
password=${var.api_secret}
EOT
  }
}

以上两种方式生成的Secret,和你执行以下kubectl命令的效果完全一致:

kubectl create secret generic cloud-access \
  --from-file=basic.txt=$TUTORIAL_HOME/creds-sasl-user.txt

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 02:45:04