如何通过CloudFoundry CLI获取PCF平台已绑定服务的凭证(含数据库凭证)
PCF CLI 获取数据库类服务绑定凭证的方法
你之前使用的cf env <service>指令参数有误,cf env的入参为应用名称而非服务实例名,你能拿到Redis服务凭证,大概率是你传入的名称刚好对应绑定了Redis的应用,若该应用未绑定目标数据库类服务,返回结果自然不会包含对应凭证。
以下是两种可直接通过CLI获取数据库服务凭证的方案:
方案1:通过绑定的应用查询
- 首先确认目标数据库服务实例已绑定到任意应用,未绑定的话先执行
cf bind-service <你的应用名> <数据库服务实例名>完成绑定,无需重启应用即可读取凭证 - 执行
cf env <你的应用名>,在返回结果的VCAP_SERVICES字段下找到对应数据库服务的条目,即可提取完整的连接凭证
方案2:直接创建服务密钥查询(无需绑定应用)
不需要将服务绑定到应用也能获取凭证,操作步骤如下:
- 为目标数据库服务实例创建自定义服务密钥:
cf create-service-key <数据库服务实例名> <自定义密钥名,例如local-dev-key> - 查看服务密钥内容,直接获取完整凭证:
cf service-key <数据库服务实例名> <刚才设置的自定义密钥名> - 本地开发使用完后,可执行
cf delete-service-key <数据库服务实例名> <自定义密钥名>删除密钥,降低凭证泄露风险
注意:部分托管的CloudSQL类服务会配置IP访问白名单,拿到凭证后如果本地无法连接,需要到PCF UI的服务管理页将本地公网IP添加到白名单,该操作暂时不支持通过CLI完成。
内容的提问来源于stack exchange,提问作者Kevin Rave
相关产品推荐
相关产品推荐

