OpenShift oc param-file参数文件格式咨询
解决OpenShift模板参数过长的问题:--param-file的正确格式
我之前也被这个问题卡过,后来翻了oc CLI的文档加上实际测试,终于搞清楚了--param-file的格式要求,现在分享给你:
支持的参数文件格式
oc CLI支持两种格式的参数文件:YAML和JSON,选其一即可,推荐用YAML,因为支持注释,可读性和可维护性更强。
YAML格式示例
创建一个名为my-params.yaml的文件,内容如下:
# 这是YAML格式的参数文件,支持注释 P1: "p1-override-value" P2: "p2-override-value" # 数值类型不需要加引号 P3: 1234 # 带特殊字符(空格、冒号等)的字符串必须加引号 P4: "my value with spaces"
JSON格式示例
如果偏好JSON,创建my-params.json文件,内容如下:
注意:JSON官方标准不支持注释,所以不要在文件里加注释,否则会触发解析报错
{ "P1": "p1-override-value", "P2": "p2-override-value", "P3": 1234, "P4": "my value with spaces" }
实际使用命令
准备好参数文件后,直接用--param-file指定文件路径即可:
# 使用YAML参数文件 oc new-app -f my-template.yml --param-file=my-params.yaml # 使用JSON参数文件 oc new-app -f my-template.yml --param-file=my-params.json
额外小贴士
- 参数名是大小写敏感的,必须和模板里定义的参数名完全一致,否则不会生效
- 如果需要临时覆盖某个参数,可以同时结合命令行的
-p选项,命令行指定的参数优先级会高于参数文件里的oc new-app -f my-template.yml --param-file=my-params.yaml -p P5="temporary-override" - 可以使用相对路径或绝对路径指定参数文件,比如
--param-file=./config/prod-params.yaml
内容的提问来源于stack exchange,提问作者Cosmo




