Kubernetes Watch Pod Ereignisse mit api

9

Wir möchten bestimmte Befehle als Pods und Dienste ausführen, wenn sie starten oder stoppen. Die Verwendung der Lebenszyklus-Hooks in den XML-Dateien funktioniert nicht für uns, da diese Befehle nicht optional sind. Wir haben überlegt, einen Watcher-Pod auszuführen, der die Watch-API verwendet, um diese Befehle auszuführen. Aber wir können nicht herausfinden, wie man die Uhr-API benutzt, damit sie nicht immer wieder dieselben Ereignisse sendet. Gibt es eine Möglichkeit, der Uhr zu sagen, dass nur neue Ereignisse gesendet werden sollen, seit die Verbindung geöffnet wurde? Wenn es nicht zumutbar ist, eine Stateful-Watch-API zu erwarten, wird es möglich sein, einen Zeitstempel oder eine monoton steigende ID zu übergeben, um zu vermeiden, bereits gesehene Ereignisse zu sehen?

Was wir jetzt machen, wir betreiben einen Pod mit einem Daemon-Prozess, der mit der API kommuniziert. Wir können die Ereignisse als Stream finden. Aber wir möchten eine Aufgabe ausführen, wenn ein Pod erstellt oder gelöscht wird.

    
sadlil 04.02.2016, 04:48
quelle

5 Antworten

4

Ich habe die Antwort gefunden. Falls jemand anderes zuschaut.

Es gibt ein viel besseres System zum Beobachten von Ressourcen und zum Behandeln von Ereignissen mit benutzerdefinierten Tasks mit pkg/controller/framework Paket

Ich habe den Schritt so gefunden,

%Vor%     
sadlil 15.04.2016, 06:30
quelle
3

Ich würde empfehlen, den Client von der Kube Repo. Warum funktionieren die Lebenszyklus-Hooks nicht für Ihren Anwendungsfall?

    
Vishnu Kannan 04.02.2016 19:47
quelle
1

Falls es im Cluster ist, können Sie das in golang so machen:

%Vor%     
Ramin Mir. 05.12.2016 13:41
quelle
0

Sie sagen, die Lifecycle-Hooks sind nicht optional, aber sie sind in der Tat optional.

%Vor%

Von hier: Ссылка

    
damick 30.08.2017 18:36
quelle
0

Führen Sie den kube-Proxy aus, um curl ohne Authentifizierung zu verwenden

%Vor%

Listen Sie alle Ereignisse mit einer Uhr auf;

%Vor%

Führen Sie die Wellung aus, um die Ereignisse zu beobachten, und filtern Sie sie mit jq, damit der Pod startet und stoppt.

%Vor%

Weitere Details

    
Thilina 19.10.2017 02:27
quelle

Tags und Links