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

如何通过Terraform的Vault Provider为证书Subject字段添加组织信息?

解决办法

你可以通过Terraform Vault Provider的vault_pki_secret_backend_cert资源中的subject参数,指定Subject字段的组织(O)、通用名称(CN)等信息,该参数支持传入包含X.509主题字段的键值对映射,完全满足Kubernetes对证书主题的要求。

示例代码

以下是生成kube-etcd-healthcheck-client证书的Terraform配置,其中包含Kubernetes所需的组织信息:

resource "vault_pki_secret_backend_cert" "etcd_healthcheck_client" {
  backend        = vault_pki_secret_backend.intermediate.path
  name           = "kube-etcd-healthcheck-client"
  common_name    = "kube-etcd-healthcheck-client"
  # 配置Subject中的组织字段
  subject = {
    organization = "system:masters"
  }
  # 可根据需求添加其他Subject字段
  # subject = {
  #   organization        = "system:masters"
  #   organizational_unit = "Kubernetes Control Plane"
  #   country             = "CN"
  # }
  ttl                  = "8760h"
  format               = "pem"
  private_key_format   = "der"
}

关键说明

  • subject参数支持的键包括organization(对应O字段)、organizational_unit(OU)、country(C)、locality(L)等标准X.509主题字段,配置后会直接写入证书的Subject信息。
  • 生成的证书会自动关联你指定的common_name(CN字段)和subject中的其他字段,完全匹配Kubernetes的证书要求。
  • 私钥会自动存储在Vault的PKI后端中,你可以通过该资源的private_key属性提取私钥内容,直接写入cloudinit配置,无需等待节点就绪。

如果使用Vault中间CA签署证书,只需确保backend参数指向中间CA的后端路径即可,上述配置逻辑完全适用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 20:20:34