Ainsi, selon documentation du travail vous pouvez toujours mettre à l'échelle un job en exécutant la commande suivante :
kubectl scale job my-job --replicas=[VALUE]
Un test simple montre que cette option fonctionne actuellement comme prévu, mais qu'elle sera vraiment dépréciée dans un futur
kubectl scale job est DEPRECATED et sera supprimé future.
La possibilité d'utiliser les travaux de mise à l'échelle de kubectl est dépréciée. Toutes les autres opérations opérations de mise à l'échelle restent en place, mais la possibilité de mettre à l'échelle les travaux sera sera supprimée dans une prochaine version.
La raison en est que : Dépréciation de kubectl scale job
Utilisez le Job yaml ci-dessous comme exemple pour créer le job :
apiVersion: batch/v1
kind: Job
metadata:
name: test-job
spec:
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2010)"]
restartPolicy: Never
completions: 1000
parallelism: 5
Maintenant, testons le comportement :
kubectl describe jobs.batch test-job
Parallelism: 5
Completions: 1000
Start Time: Fri, 17 May 2019 16:58:36 +0200
Pods Statuses: 5 Running / 21 Succeeded / 0 Failed
kubectl get pods | grep test-job | grep Running
test-job-98mlv 1/1 Running 0 13s
test-job-fs2hb 1/1 Running 0 8s
test-job-l8n6v 1/1 Running 0 16s
test-job-lbh46 1/1 Running 0 13s
test-job-m8btl 1/1 Running 0 2s
Modification du parallélisme avec kubectl scale
:
kubectl scale jobs.batch test-job --replicas=10
kubectl describe jobs.batch test-job
Parallelism: 10
Completions: 1000
Start Time: Fri, 17 May 2019 16:58:36 +0200
Pods Statuses: 10 Running / 87 Succeeded / 0 Fail
kubectl get pods | grep test-job | grep Running
test-job-475zf 1/1 Running 0 10s
test-job-5k45h 1/1 Running 0 14s
test-job-8p99v 1/1 Running 0 22s
test-job-jtssp 1/1 Running 0 4s
test-job-ltx8f 1/1 Running 0 12s
test-job-mwnqb 1/1 Running 0 16s
test-job-n7t8b 1/1 Running 0 20s
test-job-p4bfs 1/1 Running 0 18s
test-job-vj8qw 1/1 Running 0 18s
test-job-wtjdl 1/1 Running 0 10s
Et la dernière étape qui, je pense, sera la plus intéressante pour vous - vous pouvez toujours éditer votre travail en utilisant patch kubectl commande
kubectl patch job test-job -p '{"spec":{"parallelism":15}}'
kubectl describe jobs.batch test-job
Parallelism: 15
Completions: 1000
Start Time: Fri, 17 May 2019 16:58:36 +0200
Pods Statuses: 15 Running / 175 Succeeded / 0 Failed
kubectl get pods | grep test-job | grep Running | wc -l
15