【问题标题】:What is the difference between oc and kubectl commands?oc 和 kubectl 命令有什么区别?
【发布时间】:2019-04-09 16:12:36
【问题描述】:

我正在尝试在 openshift 中创建一个 cron 作业,但在使用 oc 时遇到了麻烦,因此我正在寻找替代方案。

我已经尝试过:“oc run cron --image={imagename} \ --dry-run=false” 这创造了另一个资源。没有创建 cron 作业的参数

【问题讨论】:

标签: kubernetes openshift


【解决方案1】:

关于这两个平台如何重叠已经有了一个很好的答案。你提到没有参数来创建一个 cronjob。您可以通过以下(resource) 使用oc 做到这一点:

oc run pi --image=perl --schedule='*/1 * * * *' \
    --restart=OnFailure --labels parent="cronjobpi" \
    --command -- perl -Mbignum=bpi -wle 'print bpi(2000)'

或者你可以通过如下的 yaml 文件来实现:

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: hello
spec:
  schedule: "*/1 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: hello
            image: busybox
            args:
            - /bin/sh
            - -c
            - date; echo Hello from the Kubernetes cluster
          restartPolicy: OnFailure

然后运行:

oc create -f cronjob.yaml -n default

【讨论】:

  • 运行时我得到错误未知标志:--schedule 也许我有错误的版本?
  • @rtbilli110 嗯,这很奇怪,尝试通过 yaml 文件应用它。查看模板here
  • 我不太确定如何执行此操作...在 openshift 原始网站上,我尝试添加到项目 -> 导入 YAML/JSON,但没有任何显示。您知道我如何通过命令行或通过 openshift origin 做到这一点吗?
  • 好的,从link复制yaml文件并粘贴到cronjob.yaml然后运行kubectl apply -f cronjob.yaml
  • 我没有安装 kubectl。你知道怎么做吗?对不起,我是开发操作的新手。我使用的是 windows
【解决方案2】:

oc 代表 openshift 客户端,它是在 kubectl 之上创建的包装器。创建它是为了与 openshift api 服务器通信。 它支持 kubectl 提供的所有操作以及其他特定于 OpenShift 的操作,例如模板、构建、构建和开发配置、图像流等操作

【讨论】:

    猜你喜欢
    • 2018-04-24
    • 2018-04-27
    • 2023-01-26
    • 2019-08-29
    • 2011-11-23
    • 2021-06-22
    • 1970-01-01
    • 2021-02-13
    相关资源
    最近更新 更多