Mam następującą konfigurację zadania 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: {}
Po wykonaniu kubectl create -f dbload-deployment.yml --recordzadania i utworzeniu zasobnika pojemnik Docker działa do końca i otrzymuję ten status:
$ 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
Ta praca jest jednorazowa i muszę ją ponownie uruchomić. Jeśli spróbuję go uruchomić ponowniekubectl create polecenia, pojawia się ten błąd
$ kubectl create -f dbload-deployment.yml --record
Error from server: error when creating "dbload-deployment.yml": jobs.batch "dbload" already exists
Oczywiście, że mogę to zrobić, kubectl delete job dbloada potem uciec, kubectl createale zastanawiam się, czy uda mi się jakoś obudzić pracę, która już istnieje?
kubectl replaceusuwa zadanie przed wystąpieniem błędów podczas jego odtwarzania.