使用Kubernetes计划生成
文档提供了创建cron作业的详细信息 要启动每10分钟执行一次构建的计划任务,我使用以下命令:使用Kubernetes计划生成,kubernetes,openshift,kubectl,Kubernetes,Openshift,Kubectl,文档提供了创建cron作业的详细信息 要启动每10分钟执行一次构建的计划任务,我使用以下命令: oc run run-build 161/my-app --image=myimage --restart=OnFailure --schedule='*/10 * * * *' 返回: cronjob.batch/run-build created 但作业无法启动: pod的日志显示: Error: unknown command "161/my-app" for &quo
oc run run-build 161/my-app --image=myimage --restart=OnFailure --schedule='*/10 * * * *'
返回:
cronjob.batch/run-build created
但作业无法启动:
pod的日志显示:
Error: unknown command "161/my-app" for "openshift-deploy"
Run 'openshift-deploy --help' for usage.
我是否已将命令(
oc run build 161/my app--image=myimage--restart=OnFailure--schedule='*/10****'
)配置为不正确地启动cron作业?您试图用161/my app
命令覆盖imageCMD
oc run run-build --image=myimage --schedule='*/10 * * * *' \
--restart=OnFailure \
--command -- <YOUR COMMAND HERE>
oc run build--image=myimage--schedule='*/10****'\
--重新启动=重新启动失败\
--命令--
其中runbuild
是您创建的cronjob的名称
如果要使用容器映像中内置的默认
CMD
/ARG
,只需省略--command
标志及其值。首先,要找到oc运行的完整文档并不容易,因此让我们与
由于创建了cronjob.batch/run build
,因此该生成由kubernetes调度,因此调度部分可能没有问题
问题现在是映像运行失败的原因
我们可以从日志中找到它,161/myapp
被识别为命令openshift deploy
的args,该命令应该是--image=myimage
中定义的CMD
Error: unknown command "161/my-app" for "openshift-deploy"
Run 'openshift-deploy --help' for usage.
您必须导出161/my app
,并根据它更新命令
Docker映像中始终定义了CMD,因此我们必须决定是否使用默认CMD:
如果将使用默认CMD并希望修改args:
oc运行nginx--image=nginx--
oc运行nginx--image=nginx--command--
对于openshift构建
部分,您可以参考
什么是161/我的应用程序
?看起来您的容器运行时无法执行命令161/my-app
。根据所使用的图像,可能缺少正确的外壳或入口点。