Anhang A. Argo-Executor-Konfigurationen und Kompromisse

Bis vor kurzem unterstützten alle Kubernetes-Implementierungen die Docker-APIs. Die ursprüngliche Argo-Implementierung war von ihnen abhängig. Mit der Einführung von OpenShift 4, das die Docker-APIs nicht unterstützt, änderte sich die Situation. Um die fehlenden Docker-APIs zu unterstützen, führte Argo mehrere neue Executors ein: Docker-, Kubelet- und Kubernetes-APIs. Der Wert containerRuntimeExecutor config in der Argo-Parameterdatei steuert, welcher Executor verwendet wird. Die Vor- und Nachteile der einzelnen Executors (basierend auf den Informationen hier) sind in Tabelle A-1 zusammengefasst. Diese Tabelle soll dir helfen, den richtigen Wert für den Argo-Executor auszuwählen.

Tabelle A-1. Argo und Kubernetes APIs
Vollstrecker Docker Kubelet Kubernetes API PNC

Profis

Unterstützt alle Workflow-Beispiele. Sehr zuverlässig, gut getestet, sehr skalierbar. Kommuniziert mit dem Docker-Daemon für schwere Arbeiten.

Sicher. Die Privilegien des Dienstkontos des Pods können nicht umgangen werden. Mittlere Skalierbarkeit. Log-Abfrage und Container-Polling erfolgen über Kubelet.

Sicher. Die Privilegien des Dienstkontos des Pods können nicht entkommen. Keine zusätzliche Konfiguration.

Sicher. Die Privilegien des Dienstkontos können nicht entkommen. Das Sammeln von Artefakten kann von der Basisbild-Schicht aus erfolgen. Skalierbar: Die Prozessabfrage erfolgt über procfs, nicht über kubelet/k8s API.

Nachteile

Am wenigsten sicher. ...

Get Kubeflow für maschinelles Lernen now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.