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

如何在PCF的Credhub中更新单个密钥且不覆盖其他密钥

解决PCF CredHub实例单个密钥更新不覆盖其他密钥的问题

问题原因

你使用cf update-service时通过-c传入单个键值对,这个操作是完全替换服务实例的配置参数,而非增量更新,所以现有其他密钥会被覆盖删除。

解决方案

以下两种方式可以实现仅更新特定键值、保留现有所有name:value对:

方法一:使用CredHub CLI(推荐)

直接通过CredHub CLI操作单个密钥,无需影响其他配置:

  1. 登录CredHub(PCF环境下通常可复用CF登录上下文,若需手动指定:
    credhub login --server https://credhub.sys.your-pcf-domain.com --client-name credhub_cli --client-secret <your-cli-secret>
    
  2. 定位目标CredHub实例的密钥路径:
    credhub list
    
    找到对应CredhubMySecrets实例下的密钥,路径通常为/<your-org>/<your-space>/CredhubMySecrets/<key-name>
  3. 更新单个密钥(以dbpwd为例):
    credhub set -n /<your-org>/<your-space>/CredhubMySecrets/dbpwd -v "new-db-password"
    
  4. 重启应用使新密钥生效:
    cf restage <your-app-name>
    

方法二:通过PCF UI应用管理器操作

若需用UI实现,需先导出全部现有配置再修改:

  • 进入PCF应用管理器,找到CredhubMySecrets服务实例
  • 查看服务实例的配置参数,复制所有现有name:value键值对
  • 修改其中需要更新的单个键值(如dbpwd的新值)
  • 将包含所有未修改键值的完整配置粘贴到服务设置的配置框中,保存更新
  • 重启对应应用,让新配置生效

注意事项

  • 无论用CLI还是UI,不要仅提交单个键值对,否则会触发全量覆盖
  • 使用CredHub CLI更适合批量或频繁更新场景,操作更精准
  • 操作前建议备份所有密钥,避免意外丢失

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 12:37:21