oc和kubectl命令有什么区别?

时间:2019-04-09 16:12:36

标签: kubernetes openshift

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

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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