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

如何在已部署的Temporal Helm Chart中配置S3认证密钥?

Temporal S3归档认证配置方案

已通过Temporal官方Helm Chart部署服务,执行过如下Helm命令:

helmstage upgrade --install -f values/values.archival.s3.yaml -f values/values.mysql.yaml temporal-test . -n test

服务部署成功后,更新了values/values.archival.s3.yaml的归档配置,但不清楚如何配置S3的accesskey和secretkey,询问是否需要创建Secret及使用方法。

需要创建K8s Secret存储S3认证信息

不能将accesskey和secretkey明文写入values文件,必须通过K8s Secret进行安全管理,具体操作步骤如下:

  1. 创建存储认证信息的Secret
    使用kubectl命令创建Secret,将S3的访问密钥ID和秘密访问密钥存入其中:

    kubectl create secret generic temporal-s3-credentials \
      --from-literal=accesskey=你的S3访问密钥ID \
      --from-literal=secretkey=你的S3秘密访问密钥 \
      -n test
    

    替换命令中的实际密钥值,temporal-s3-credentials为自定义的Secret名称,可根据需求修改。

  2. 修改values配置文件引用Secret
    在values/values.archival.s3.yaml的s3store配置块中,添加引用Secret的字段,修改后的完整配置示例:

    server:
      archival:
        history:
          state: "enabled"
          enableRead: true
          provider:
            s3store:
              region: "default"
              endpoint: "http://ceph-infra-s3:8080"
              s3ForcePathStyle: true
              # 新增S3认证配置
              accessKeyIDSecret:
                name: temporal-s3-credentials
                key: accesskey
              secretAccessKeySecret:
                name: temporal-s3-credentials
                key: secretkey
        visibility:
          state: "enabled"
          enableRead: true
          provider:
            s3store:
              region: "default"
              endpoint: "http://ceph-infra-s3:8080"
              s3ForcePathStyle: true
              # 新增S3认证配置
              accessKeyIDSecret:
                name: temporal-s3-credentials
                key: accesskey
              secretAccessKeySecret:
                name: temporal-s3-credentials
                key: secretkey
    
      namespaceDefaults:
        archival:
          history:
            state: "enabled"
            URI: "s3://temporal-development"
          visibility:
            state: "enabled"
            URI: "s3://temporal-development"
    
  3. 重新执行Helm升级命令应用配置
    再次运行Helm命令更新部署,让新的认证配置生效:

    helmstage upgrade --install -f values/values.archival.s3.yaml -f values/values.mysql.yaml temporal-test . -n test
    

补充说明

如果你的环境支持IAM角色(如云厂商托管K8s集群的服务账户角色),也可通过角色绑定实现无密钥认证,但针对Ceph S3这类自建对象存储,使用Secret存储密钥是最直接可靠的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 13:51:29