Ho la seguente configurazione di Kubernetes Job:
---
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: {}
Quando eseguo kubectl create -f dbload-deployment.yml --recordil lavoro e viene creato un pod, il contenitore Docker viene eseguito fino al completamento e ottengo questo stato:
$ 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
Questo lavoro è una tantum e devo poterlo rieseguire. Se provo a rieseguirlo con il kubectl createcomando ottengo questo errore
$ kubectl create -f dbload-deployment.yml --record
Error from server: error when creating "dbload-deployment.yml": jobs.batch "dbload" already exists
Certo che posso fare kubectl delete job dbloade poi eseguire kubectl createma mi chiedo se posso in qualche modo risvegliare il lavoro che già esiste?
kubectl replaceelimina il lavoro prima di imbattersi negli errori ricreandolo.