J'ai la configuration de travail Kubernetes suivante:
---
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: {}
Lorsque je fais kubectl create -f dbload-deployment.yml --record
le travail et qu'un pod est créé, le conteneur Docker s'exécute jusqu'à la fin et j'obtiens cet état:
$ 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
Ce travail est unique et je dois pouvoir le relancer. Si j'essaie de le relancer avec la kubectl create
commande, j'obtiens cette erreur
$ kubectl create -f dbload-deployment.yml --record
Error from server: error when creating "dbload-deployment.yml": jobs.batch "dbload" already exists
Bien sûr, je peux faire kubectl delete job dbload
puis courir kubectl create
mais je me demande si je peux en quelque sorte réveiller le travail qui existe déjà?
kubectl replace
supprime le travail avant de rencontrer les erreurs de recréation.