2015-07-10 16 views
6

Wie wird empfohlen, einen Container oder Pod basierend auf einem zeitbasierten Zeitplan auszuführen? Zum Beispiel eine Aufgabe, die täglich um 10 Uhr für 10 Minuten ausgeführt wird.Zeitbasierte Containerplanung auf Kubernetes?

Auf einem herkömmlichen Linux-Server würde Crontab leicht funktionieren, und das ist offensichtlich immer noch im Container möglich. Da diese Aufgabe jedoch nur für 10 Minuten ausgeführt wird, suchte ich nach einem Mechanismus, um einen Basiscontainer in einem bestimmten Zeitintervall auszuführen und dann den Container zu entsorgen.

Chronos (Teil von Mesos) scheint ein ähnliches Verhalten zu haben, ist dies in Container Engine möglich?

Antwort

7

Dies wird voraussichtlich in 1.3 unterstützt werden: https://github.com/kubernetes/kubernetes/pull/11980

UPDATE:

nicht die 1.3 Frist erfüllt hat, damit es in 1,4

https://github.com/kubernetes/kubernetes/issues/2156#issuecomment-223385808

schlafen werde

UPDATE (Danke @Kevinoid): Sieht so aus, als hätte es in 1.4 Alpha erreicht und läuft weiter wird jetzt in https://github.com/kubernetes/features/issues/19 mit Nutzungsdokumentation bei http://kubernetes.io/docs/user-guide/cron-jobs/

+0

Dies wurde auf 1.4 verschoben https://github.com/kubernetes/kubernetes/issues/2156#issuecomment-223385808 –

+0

Sieht so aus, als ob es in 1.4 Alpha erreicht hat und Fortschritt wird jetzt in https://github.com/ verfolgt kubernetes/features/issues/19 mit Nutzungsdokumentation unter http://kubernetes.io/docs/user-guide/cron-jobs/ – Kevinoid

+0

@Kevinoid editierte Antwort Hinzufügen Ihres Updates, danke! –

4

Leider gibt es zur Zeit keine Unterstützung für Cron-Jobs in Kubernetes oder Container Engine. Das Github-Problem, das es verfolgt, ist here, wenn Sie Ideen teilen möchten, für welche Eigenschaften es haben sollte, oder Ihr Interesse daran ausdrücken!

3

Eine Arbeit für jetzt wäre es, einen Run-Once-Pod zu verwenden und kubectl zu Ihrem Cron-Tab auf einem Computer hinzuzufügen.

z.B. füge

kubectl create -f <run-once-pod> 

zu deinem cron Tab hinzu.

+0

Um zu klären, ein pod immer nur einmal zu laufen, würde dies die restartPolicy sein: Nie? – GNN

0

verfolgt Wie bereits erwähnt, wurde dies als Teil der K8s 1.4 und here ist die offizielle Dokumentation hinzugefügt. (Bewegte url aktualisiert)

+0

Link funktioniert nicht. –