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 --record
cô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 create
lệ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 dbload
và sau đó chạy kubectl create
như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 replace
xóa công việc trước khi chạy vào các lỗi tạo lại nó.