Ich habe folgende Kubernetes Job Konfiguration:
---
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: {}
Wenn ich kubectl create -f dbload-deployment.yml --record
den Job erledige und ein Pod erstellt wird, wird der Docker-Container vollständig ausgeführt und ich erhalte den folgenden 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
Dieser Job ist einmalig und ich muss ihn erneut ausführen können. Wenn ich versuche, es mit kubectl create
Befehl erneut auszuführen, erhalte ich diesen Fehler
$ kubectl create -f dbload-deployment.yml --record
Error from server: error when creating "dbload-deployment.yml": jobs.batch "dbload" already exists
Natürlich kann ich es tun kubectl delete job dbload
und dann rennen, kubectl create
aber ich frage mich, ob ich den Job, der bereits existiert, irgendwie wieder aufwecken kann?
kubectl replace
löscht den Job, bevor die Fehler beim Neuerstellen auftreten.