You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

OpenShift oc param-file参数文件格式咨询

解决OpenShift模板参数过长的问题:--param-file的正确格式

我之前也被这个问题卡过,后来翻了oc CLI的文档加上实际测试,终于搞清楚了--param-file的格式要求,现在分享给你:

支持的参数文件格式

oc CLI支持两种格式的参数文件:YAMLJSON,选其一即可,推荐用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

火山引擎 最新活动