我正在使用节点js &想将文件上传到我的存储桶。我设置了秘密:如何在kubernetes内部使用谷歌云存储?
NAME TYPE DATA AGE
cloudsql-oauth-credentials Opaque 1 5d
default-token-dv9kj kubernetes.io/service-account-token 3 5d
的service_account做,因为我有设定已经&测试在本地(我自己的电脑上)访问我的谷歌云存储API。我不确定如何参考服务帐户 json文件的位置?
这里是我的卷装入:
"volumes": [{
"name": "cloudsql-oauth-credentials",
"secret": {
"secretName": "cloudsql-oauth-credentials"
}
}
这里是我设置了谷歌云存储变量的代码:
var gcs = require('@google-cloud/storage')({
projectId: 'projectID-38838',
keyFilename: process.env.NODE_ENV == 'production'
? JSON.parse(process.env.CREDENTIALS_JSON) // Parsing js doesn't work
: '/Users/james/auth/projectID-38838.json' // This works locally
});
var bucket = gcs.bucket('bucket-name');
现在,如果我想用这里面我在kubernetes上的码头容器,我将不得不引用json文件位置......但我不知道它在哪里?!
我已经尝试将凭据文件设置为环境变量,但我无法解析对象为keyFilename对象的js对象。我必须解析一个文件位置。我设置环境变量像这样:
{
"name": "CREDENTIALS_JSON",
"valueFrom": {
"secretKeyRef": {
"name": "cloudsql-oauth-credentials",
"key": "credentials.json"
}
}
},
我如何可以参考我的kubernetes吊舱内service_account JSON文件的位置?