【发布时间】:2019-07-07 00:32:14
【问题描述】:
我正在使用 kubernetes 并尝试调用以下命令:kubectl set env deployment/server A=a B=b ...etc
我的 env 变量位于 .env 文件中,每个值可以包含空格、非转义字符、cmets、空行等:
## Common variables
NODE_ENV=production
## Server variables
SERVER_PORT=8009
CORS_ORIGIN=https://www.example.io,http://www.example.io,http://localhost:3000
SESSION_SECRET=/qm%7HLw"pk(8@"pja#I9CbN#2Lg[%d>5{CDA_9g|ZvZmuZ$]=';EhA#g+C;1>&
我正在尝试解析 .env 文件,以便将其集成到命令中:
kubectl set env deployment/server $(do magic with .env file to extract the escaped variables)
试过grep -v '^#' .env | xargs,但它不适用于需要转义或引号的字符。我的 bash 能力现在不是最强的。知道如何解决这个问题吗?
【问题讨论】:
-
@prd 刚接触 kubernetes,没有找到很好的教程来解释如何编写 .yml 配置。货币通过 cli 和 kubectl 做所有事情。
-
您可以使用 configmap 将环境加载到您的 pod
标签: bash unix kubernetes environment-variables kubectl