我正在使用節點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文件的位置?