Openshift 仍删除了 Cronjob 运行
Openshift Deleted Cronjob Still Running
我在 OpenShift 3.11 中创建了一个 cronjob,restartPolicy
总是。然而,当我删除这个 cronjob 和相关的作业时,这些作业(并且在撰写本文时目前是)仍然 运行。我不知道如何停止工作,但想从 运行.
停止工作
我已尝试将部署缩减为零 pods、删除部署并重新创建(重新部署)、删除构建配置然后重做构建配置、删除 Open Shift 中的整个项目,然后重新创建项目,运行:oc delete all -l app=app
、oc delete jobs --all
和 oc delete pods --all
,其中 none 到目前为止有效。
有关如何删除 cronjob 的任何建议都很有帮助!
编辑:
cronjob.yaml:
kind: CronJob
apiVersion: batch/v1beta1
metadata:
name: --redacted--
namespace: --redacted--
selfLink: --redacted--
uid: 5d5cde7d-e8f6-11ea-8ec0-00505682ee91
resourceVersion: '178216471'
creationTimestamp: '2020-08-28T06:19:01Z'
spec:
schedule: 0 8 * * *
concurrencyPolicy: Allow
suspend: false
jobTemplate:
metadata:
creationTimestamp: null
spec:
template:
metadata:
creationTimestamp: null
spec:
containers:
- name: --redacted--
image: byrnedo/alpine-curl
args:
- '--insecure'
- '--location'
- >-
-H 'Authorization: Bearer --redacted--'
- http://--redacted--
- '-XPOST'
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: Always
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
securityContext: {}
schedulerName: default-scheduler
successfulJobsHistoryLimit: 3
failedJobsHistoryLimit: 1
status:
lastScheduleTime: '2020-08-28T08:00:00Z'
oc get cronjobs
returns 没有工作。
根据你更新的问题,我明白了为什么 oc delete all -l app=app
没有删除你的 CronJob - 里面没有 metadata.labels
,所以它没有被选中。您可以使用
oc get all -lapp=app
验证要删除的内容。但有一个警告 - all
实际上不是“一切”,请参阅 以查看支持的获取命名空间中每一项资源的方法。
但如果您真的删除了一个项目 - 所有资源都应该被删除。我只能看到 CronJob 存在的一种可能性——您可能也已将其添加到其他命名空间。您可以使用
oc get cronjob --all-namespaces --field-selector=metadata.name=you_cronjob_name
在所有命名空间中使用您的名字搜索 cronjob。
我在 OpenShift 3.11 中创建了一个 cronjob,restartPolicy
总是。然而,当我删除这个 cronjob 和相关的作业时,这些作业(并且在撰写本文时目前是)仍然 运行。我不知道如何停止工作,但想从 运行.
我已尝试将部署缩减为零 pods、删除部署并重新创建(重新部署)、删除构建配置然后重做构建配置、删除 Open Shift 中的整个项目,然后重新创建项目,运行:oc delete all -l app=app
、oc delete jobs --all
和 oc delete pods --all
,其中 none 到目前为止有效。
有关如何删除 cronjob 的任何建议都很有帮助!
编辑:
cronjob.yaml:
kind: CronJob
apiVersion: batch/v1beta1
metadata:
name: --redacted--
namespace: --redacted--
selfLink: --redacted--
uid: 5d5cde7d-e8f6-11ea-8ec0-00505682ee91
resourceVersion: '178216471'
creationTimestamp: '2020-08-28T06:19:01Z'
spec:
schedule: 0 8 * * *
concurrencyPolicy: Allow
suspend: false
jobTemplate:
metadata:
creationTimestamp: null
spec:
template:
metadata:
creationTimestamp: null
spec:
containers:
- name: --redacted--
image: byrnedo/alpine-curl
args:
- '--insecure'
- '--location'
- >-
-H 'Authorization: Bearer --redacted--'
- http://--redacted--
- '-XPOST'
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: Always
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
securityContext: {}
schedulerName: default-scheduler
successfulJobsHistoryLimit: 3
failedJobsHistoryLimit: 1
status:
lastScheduleTime: '2020-08-28T08:00:00Z'
oc get cronjobs
returns 没有工作。
根据你更新的问题,我明白了为什么 oc delete all -l app=app
没有删除你的 CronJob - 里面没有 metadata.labels
,所以它没有被选中。您可以使用
oc get all -lapp=app
验证要删除的内容。但有一个警告 - all
实际上不是“一切”,请参阅
但如果您真的删除了一个项目 - 所有资源都应该被删除。我只能看到 CronJob 存在的一种可能性——您可能也已将其添加到其他命名空间。您可以使用
oc get cronjob --all-namespaces --field-selector=metadata.name=you_cronjob_name
在所有命名空间中使用您的名字搜索 cronjob。