使用Kubernetes计划生成

使用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

文档提供了创建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 "openshift-deploy"
Run 'openshift-deploy --help' for usage.

我是否已将命令(
oc run build 161/my app--image=myimage--restart=OnFailure--schedule='*/10****'
)配置为不正确地启动cron作业?

您试图用
161/my app
命令覆盖image
CMD
(该命令似乎无效)

你应使用:

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
    。根据所使用的图像,可能缺少正确的外壳或入口点。