Tôi có cấu hình công việc Kubernetes sau:
---
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: {}
Khi tôi thực hiện kubectl create -f dbload-deployment.yml --recordcông việc và một nhóm được tạo, Docker container sẽ chạy đến khi hoàn thành và tôi nhận được trạng thái này:
$ 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
Công việc này là một lần giao dịch và tôi cần có thể chạy lại nó. Nếu tôi cố chạy lại nó bằng kubectl createlệnh tôi sẽ gặp lỗi này
$ kubectl create -f dbload-deployment.yml --record
Error from server: error when creating "dbload-deployment.yml": jobs.batch "dbload" already exists
Tất nhiên tôi có thể làm kubectl delete job dbloadvà sau đó chạy kubectl createnhưng tôi tự hỏi liệu bằng cách nào đó tôi có thể đánh thức lại công việc đã tồn tại?
kubectl replacexóa công việc trước khi chạy vào các lỗi tạo lại nó.