Kubernetes部署的Docker版Graphileon如何读取服务端容器环境变量
问题解答
是否可以通过环境变量配置Graphileon参数
可以,Graphileon原生支持通过环境变量注入配置,你在Kubernetes部署时直接在Pod的containers.env字段中定义需要的环境变量即可,常规的服务端口、数据源连接、鉴权配置等都可以通过该方式配置,不需要修改镜像本身。
代码中<value>能否直接读取容器环境变量
你贴出的代码是运行在用户浏览器侧的前端JavaScript代码,无法直接读取服务端容器内的系统环境变量,需要通过服务端中转实现:
- 方案1:在Graphileon服务端新增一个轻量接口,只对外暴露你需要用到的环境变量值(注意不要泄露敏感类环境变量),前端在构造请求前先调用该接口拿到对应值,替换
<value>后再发请求。
以Node.js服务端为例,读取环境变量的代码仅需:const targetValue = process.env.YOUR_CUSTOM_ENV_KEY - 方案2:如果你的页面是服务端渲染的,可以在页面返回时直接把需要的环境变量值注入到HTML的全局变量中,前端直接从
window对象读取对应值即可,无需额外发起接口请求。
注意:不要把服务端所有环境变量都暴露到前端,仅透出业务必需的非敏感字段,避免密钥、内部地址等敏感信息泄露。
内容的提问来源于stack exchange,提问作者Paras Bansal
相关产品推荐
相关产品推荐

