Ana*_*tel 5 openshift openshift-origin
我在 template.yaml 文件中有一个 OpenShift 模板,其中包括以下对象 - 部署配置、pod、服务和路由。我正在使用以下命令来执行 yaml:
oc process -f template.yml | oc apply -f -
Run Code Online (Sandbox Code Playgroud)
我想在实际应用/执行 yaml 之前执行以下验证:
似乎命令“oc process”正在执行以下检查:
如何对 template.yaml 中定义的其他对象(例如部署配置、服务、pod 等)执行模式验证?
这现在可以通过 OpenShift 客户端(以及一般的 Kubernetes)实现,例如
$ oc login
Username: john.doe
Password:
Login successful.
$ oc apply -f openshift/template-app.yaml --dry-run
template "foobar-app" created (dry run)
Run Code Online (Sandbox Code Playgroud)
也可以在本地处理模板,这样就可以避免先将其发送到服务器,例如
$ oc process -f openshift/template-app.yaml --local -p APP_NAME=foo | oc apply --dry-run --validate -f -
deploymentconfig "foo" created (dry run)
service "foo" created (dry run)
Run Code Online (Sandbox Code Playgroud)
另请注意--validate我用于模式验证的选项。不幸的是,您仍然必须登录才能使apply命令工作(没有--local选项apply)。
奇怪的是,CLI 文档中没有描述此功能,但是在帮助屏幕上提到了它:
$ oc apply --help
Apply a configuration to a resource by filename or stdin.
JSON and YAML formats are accepted.
Usage:
oc apply -f FILENAME [options]
...
Options:
...
--dry-run=false: If true, only print the object that would be sent, without sending it.
...
--validate=false: If true, use a schema to validate the input before sending it
Use "oc <command> --help" for more information about a given command.
Use "oc options" for a list of global command-line options (applies to all commands).
Run Code Online (Sandbox Code Playgroud)
我遇到了同样的问题,从命令返回的神秘错误oc process。
但是,如果您进入 Openshift 控制台并使用控制台顶部的“添加到项目”链接,请选择“导入 YAML / JSON”选项并导入 YAML/JSON,这样您会得到稍微更有用的错误。
| 归档时间: |
|
| 查看次数: |
7115 次 |
| 最近记录: |