kubernetes - 用于 google(和 facebook)识别的 Kubernetes 环境变量
问题描述
我尝试将托管在 Heroku 中的一个完整堆栈应用程序传递给托管在 kubernetes 云(确切地说是数字海洋)中的另一个应用程序:我被密钥卡住了。在原始的全栈应用程序中,我有一个文件,我在其中放置了开发环境的密钥:
module.exports={
googleClientID: 'Client ID',
googleClientSecret: 'secret sequence',
mongoURI: 'mongodb+srv://data_to_connect',
cookieKey: 'some_code',
fbClientID: 'Client ID',
fbClientSecret: 'secret sequence',
stripePublishableKey: 'public key',
stripeSecretKey: 'secret sequence'
}
在另一个带有生产密钥的文件之后。在这种情况下,秘密被放在 Heroku 环境中;所以,这个公开的文件没有显示密钥。
module.exports={
googleClientID: 'Client ID',
googleClientSecret: GOOGLE_CLIENT_SECRET, // Place in Heroku host
...
}
现在,我尝试将此应用程序转换为 Kubernetes 应用程序。在 Kubernetes 配置中。服务器的文件,我把上面的键作为环境变量:
apiVersion: apps/v1
kind: Deployment
metadata:
name: server-depl
...
template:
metadata:
labels:
app: server
spec:
containers:
- name: server
image: myimage
env:
- name: googleClientID
value: 'Client ID' // Same that above
- name: googleClientSecret // Secret made with kubernetes secret generic command
valueFrom:
secretKeyRef:
name: google-secret
key: googleClientSecret
....
在引用了那些环境之后。带有 process.env.KEY 的正确文件中的变量,这将在开发中工作。环境(带脚手架)与生产环境(数字海洋)一样。
clientID: process.env.googleClientID,
clientSecret: process.env.googleClientSecret,
那是行不通的。一些提示如何进行转移?
解决方案
推荐阅读
- reactjs - 如何在 React 中使用 fetch API 正确实现地图功能?
- r - 如何使用 R 查询 Oracle 中的 LOB 字段
- heroku - 我的 Heroku 自定义域在我使用 www.mywebsite.com 时有效,但在我访问 mywebsite.com 时无效
- flutter - 颤振三元运算符未按预期工作
- reactjs - TypeError:无法读取材料 ui 中未定义的属性(读取“断点”)
- javascript - 试图创建一个基本的跳跃恐龙游戏
- python - Django 数据迁移:表不存在
- ios - AVAudioRecorder 在后台运行一段时间后停止
- dask - 使用 Dask 读取包含无效数据的 CSV 列并键入 int64
- javascript - GSAP 时间线的目标克隆元素仅在单击时运行