【奇yin秘技】前端利用k8s环境变量减少镜像重构次数

经常能碰到前端使用docker+k8s部署的项目,每次一有链接变更,前端都要重新改代码里的链接、改nginx.conf、重新打镜像…非常麻烦
要是只有后端API还好,在配nginx的时候用k8s nodeport链接就能解决
请添加图片描述
但实际情况经常是websocket、iframe等等神魔也想来凑个热闹,链接一变,事又多了

偶然之间听到后端小哥们在讨论k8s的环境变量配置,凑上去听了听,发现是个好东西,直接在yaml文件里面改动变量重新部署一下就行了
请添加图片描述
关键是前端要怎么获取到这玩意呢?我想到的是用脚本把环境变量写到里,再让js获取body上所需的环境变量:

# 把环境变量写到<body>里
sed -i "s|<body>|<body server_host=\"$server_host\" >|" /root/src/dist/index.html
// 获取body上的环境变量
document.querySelector('body').getAttribute('server_host')

最后只要在环境变量中添加server_host参数就可以了
当然,你也可以更骚,不用nodeport,直接写脚本替换nginx;什么Lua、Perl都不用装

sed -i "s|BACKEND_SERVER|$backend_server|" /root/src/nginx.conf
# nginx配置
location /api/ {
  proxy_pass BACKEND_SERVER;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值