Kubernetes activeDeadlineSeconds nicht Prozess zu töten

stimmen
0

Ich verwende activeDeadlineSecondsin meiner JobDefinition , aber es scheint keine Wirkung zu haben. Ich habe einen CronJob , dass ein Job jede Minute startet, und ich würde diesen Job gerne , um automatisch alle seine Schoten zu töten , bevor ein anderer erstellt wird (so 50 Sekunden erscheint sinnvoll ). Ich weiß , dass es andere Möglichkeiten gibt , dies zu tun , aber das ist ideal für unsere Verhältnisse.

Ich bemerkte , dass die Schoten sind jedoch nicht abgetötet werden. Gibt es Einschränkungen mit activeDeadlineSeconds? Ich sehe nichts in der Dokumentation zu K8S 1.7 - https://v1-7.docs.kubernetes.io/docs/api-reference/v1.7/#jobspec-v1-batch Ich habe auch geprüft , aktuellere Versionen.

Hier ist eine verkürzte Version meiner CronJob Definition -

apiVersion: batch/v2alpha1
kind: CronJob
metadata:
  name: kafka-consumer-cron
spec:
  schedule: */1 * * * *
  jobTemplate:
    spec:  # JobSpec
      activeDeadlineSeconds: 50   # This needs to be shorter than the cron interval  ## TODO - NOT WORKING!
      parallelism: 1
      ...
Veröffentlicht am 27/11/2018 um 17:57
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
1

Sie können verwenden concurrencyPolicy: "Replace". Dies wird beendet vorherigen Lauf pod dann einen neuen starten.

Prüfen Sie Kommentare von hier: ConcurrencyPolicy

Beantwortet am 27/11/2018 um 19:00
quelle vom benutzer

stimmen
0

Es stellt sich heraus, dies in 1.7 tatsächlich ein bekannter Fehler ist. Es wurde in der Version 1.8 festgelegt

https://github.com/openshift/origin/issues/10755 https://github.com/kubernetes/kubernetes/issues/32149

Beantwortet am 04/12/2018 um 06:43
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more