Der Job pi-with-ttl kann 100 Sekunden nach seiner Fertigstellung automatisch gelöscht werden. Ein anderes Muster ist für einen einzelnen Job, um einen Pod zu erstellen, der dann andere Pods erstellt, die als eine Art benutzerdefinierter Controller für diese Pods fungieren. Dies ermöglicht die größte Flexibilität, kann aber etwas kompliziert sein, um mit zu beginnen und bietet weniger Integration mit Kubernetes. Die verschiedenen Operatoren für den erweiterten Musterabgleich sind unten aufgeführt, wobei die Musterliste eine Liste ist, die einen oder mehrere Dateinamen enthält, die durch den | character: Ein ganzer Pod kann auch aus einer Reihe von Gründen fehlschlagen, z. B. wenn der Pod aus dem Knoten geworfen wird (Knoten wird aktualisiert, neu gestartet, gelöscht usw.), oder wenn ein Container des Pods fehlschlägt und die .spec.template.spec.restartPolicy = “Nie”. Wenn ein Pod fehlschlägt, startet der Job-Controller einen neuen Pod. Dies bedeutet, dass Ihre Anwendung den Fall behandeln muss, wenn sie in einem neuen Pod neu gestartet wird. Insbesondere muss es temporäre Dateien, Sperren, unvollständige Ausgabe und dergleichen durch vorherige Durchläufe verursacht behandeln. Verwenden Sie die db.collection.deleteOne()-Methode, um höchstens ein einzelnes Dokument zu löschen, das einem angegebenen Filter entspricht (obwohl mehrere Dokumente möglicherweise mit dem angegebenen Filter übereinstimmen). Mitarbeiter, die Workloads auf Kubernetes ausführen, verwenden die Automatisierung häufig, um wiederholbare Aufgaben zu erledigen.
Das Operatormuster erfasst, wie Sie Code schreiben können, um eine Aufgabe zu automatisieren, die über das hinausgeht, was Kubernetes selbst bereitstellt. Die Kompromisse werden hier zusammengefasst, wobei die Spalten 2 bis 4 den oben genannten Kompromissen entsprechen. Die Musternamen sind auch Links zu Beispielen und detailliertere Beschreibungen. MongoDB Compass bietet eine einfache Möglichkeit, ein Dokument aus einer Sammlung zu löschen. Das folgende Beispiel zeigt, wie das Dokument mit dem Papierelement aus der Inventarsammlung gelöscht wird: Ein Beispiel für dieses Muster wäre ein Auftrag, der einen Pod startet, der ein Skript ausführt, das wiederum einen Spark-Mastercontroller startet (siehe Spark-Beispiel), einen Funkentreiber ausführt und dann bereinigt. aber für das Verzeichnis mit Dateien ohne Erweiterung verwende ich den Befehl “rm”, der unten die Berechtigung zum Löschen jeder Datei anfordert. Klicken Sie auf Löschen, um dies zu bestätigen. Compass löscht das Dokument aus der Auflistung. Manchmal geraten Sie in eine Situation, in der Sie alle Dateien in einem Verzeichnis löschen oder einfach ein Verzeichnis bereinigen müssen, indem Sie alle Dateien außer Dateien eines bestimmten Typs entfernen (endend mit einer bestimmten Erweiterung). com.mongodb.reactivestreams.client.MongoCollection.deleteViele gibt ein Publisher-Objekt vom Typ com.mongodb.client.result.DeleteResult zurück, wenn dies erfolgreich ist. Gibt eine Instanz von com.mongodb.MongoException zurück, wenn sie nicht erfolgreich ist. Im folgenden Beispiel wird das erste Dokument gelöscht, in dem der Status “D” lautet: Wenn das Feld auf 0 festgelegt ist, kann der Auftrag sofort nach Abschluss des Vorgangs automatisch gelöscht werden.
Wenn das Feld nicht gesetzt ist, wird dieser Auftrag nach Abschluss des Feldes nicht vom TTL-Controller bereinigt.