मेरे पास कुबेरनेट्स नौकरी विन्यास है:
---
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: {}
जब मैं kubectl create -f dbload-deployment.yml --record
नौकरी करता हूं और एक पॉड बनता है, डॉकटर कंटेनर पूरा होने के लिए चलता है और मुझे यह दर्जा मिलता है:
$ 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
यह नौकरी वन टाइम डील है और मुझे इसे फिर से हासिल करने में सक्षम होना चाहिए। अगर मैं इसे kubectl create
कमांड से रीरुन करने का प्रयास करता हूं तो मुझे यह त्रुटि मिलती है
$ kubectl create -f dbload-deployment.yml --record
Error from server: error when creating "dbload-deployment.yml": jobs.batch "dbload" already exists
बेशक मैं कर सकता हूं kubectl delete job dbload
और फिर दौड़ सकता हूं kubectl create
लेकिन मैं सोच रहा हूं कि क्या मैं किसी तरह पहले से मौजूद नौकरी को फिर से जागृत कर सकता हूं?
kubectl replace
इसे पुनः बनाने में त्रुटियों को चलाने से पहले नौकरी को हटा देता है।