2016-04-26 12 views
0

ich eifrig zu aktualisieren bin die Veröffentlichung von Kubernetes v1.3 Mitte bis Ende Juni erwartet, so dass ich cron Planung für Aufträge zugreifen kann. In der Zwischenzeit, was ich plane zu tun sind folgende:Verwirrung darüber, wie Kubernetes Jobs

  • einen Job Bereitstellen auf meinem Kubernetes Cluster
  • Verwenden jenkins als Cron-Werkzeug, um den Job in definierten Zeitabständen (zum Beispiel 1 Stunde) auszulösen.

Ich habe zwei Fragen:

Wie aktualisiere ich einen Job? Für Replikations-Controller würde ich einfach ein Rolling-Update durchführen, aber in der Job-API-Spezifikation (http://kubernetes.io/docs/user-guide/jobs/) gibt es keine Details dazu. Nehmen wir zum Beispiel an, dass ich mein jenkins deploy-System verwenden möchte, um den Job zu aktualisieren, wenn ich einen Git-Commit mache.

Ist es möglich, die Kubernetes API zu verwenden, um Jobs auslösen? Zum Beispiel habe ich einen Job, der ausgeführt wird, und dann wird der Pod nach Abschluss beendet. Dann, 1 Stunde später, möchte ich jenkins verwenden, um den Job erneut auszulösen.

Vielen Dank!

+0

Traurig geplanten Jobs (Cron) [waren zu spät für 1.3 und kommen nur in 1.4] (https://github.com/kubernetes/kubernetes/pull/11980) – puja

Antwort

1

Ich bin nicht sicher, ob es eine andere Art ist es, einen abgeschlossenen Auftrag auslösen, sondern ein Weg sein, es kann zu tun, um den Job zu löschen und neu zu erstellen.

Re: Rolling-Update: die für lange Lauf Schoten erforderlich ist, was was RCs Kontrolle. Für Jobs: Sie können die podTemplateSpec in Jobspec aktualisieren und wird dafür sorgen, dass jede neue pod durch den Job nach dem Update erstellt wird die aktualisierte podTemplateSpec hat (Anmerkung: bereits laufende Schoten sind nicht betroffen).

Hoffe, das hilft!

+0

Ich endete mit einem Kubernetes-Daemon-Set für Cron , wenn der Docker-Einsprungpunkt den Cron startet und das Log zurückzieht – Zach