有时部署 yaml 文件中有一些变量不是预先指定的,只有在部署期间才会知道(例如容器映像的名称和标签)。
通常我们{{IMAGE_NAME}}在 yaml 文件中放置一个标记文本(例如),并使用 bash 文本操作工具将其更改为部署文件中的实际值。
有没有办法使用环境变量或其他方法(例如在运行时使用参数kubectl create)而不是文本替换工具?
小智 5
我所做的是在部署配置中使用 envvars,然后使用命令的输出运行apply/ :createenvsubst
deployment.yaml 文件:
[...]
spec:
replicas: $REPLICA_COUNT
revisionHistoryLimit: $HISTORY_LIM
[...]
Run Code Online (Sandbox Code Playgroud)
部署期间:
$ export REPLICA_COUNT=10 HISTORY_LIM=10
$ envsubst < deployment.yaml | kubectl apply -f -
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2705 次 |
| 最近记录: |