ฉันมีการกำหนดค่างาน Kubernetes ต่อไปนี้:
---
apiVersion: batch/v1
kind: Job
metadata:
name: dbload
creationTimestamp:
spec:
template:
metadata:
name: dbload
spec:
containers:
- name: dbload
image: sdvl3prox001:7001/pbench/tdload
command: ["/opt/pbench/loadTpcdsData.sh", "qas0063", "dbc", "dbc", "1"]
restartPolicy: Never
imagePullSecrets:
- name: pbenchregkey
status: {}
เมื่อฉันkubectl create -f dbload-deployment.yml --record
ทำงานและสร้างพ็อดแล้ว Docker container จะทำงานจนเสร็จและได้รับสถานะนี้:
$ kubectl get job dbload
NAME DESIRED SUCCESSFUL AGE
dbload 1 1 1h
$ kubectl get pods -a
NAME READY STATUS RESTARTS AGE
dbload-0mk0d 0/1 Completed 0 1h
งานนี้เป็นข้อตกลงครั้งเดียวและฉันจำเป็นต้องสามารถรันใหม่ได้ หากฉันพยายามที่จะรันใหม่ด้วยkubectl create
คำสั่งฉันได้รับข้อผิดพลาดนี้
$ kubectl create -f dbload-deployment.yml --record
Error from server: error when creating "dbload-deployment.yml": jobs.batch "dbload" already exists
แน่นอนว่าฉันสามารถทำได้kubectl delete job dbload
แล้ววิ่งkubectl create
แต่ฉันสงสัยว่าฉันสามารถปลุกงานที่มีอยู่แล้วซ้ำอีกครั้งได้หรือไม่?
kubectl replace
ลบงานก่อนที่จะพบข้อผิดพลาดในการสร้างใหม่