Caboto, das Kubernetes Semantic Analysis Toolkit. Es enthält eine leichte Python -Bibliothek für die semantische Analyse von einfachen Kubernetes, ohne einen Cluster auszuführen.
Innen repräsentiert Caboto alle K8S -Objekte in einer Diagrammstruktur basierend auf NetworkX, die den folgenden Kanten folgen und die Beziehungen zwischen Objekten verstehen.
Laden Sie zunächst, dass einfache Manifests Dateien in Caboto manifestiert. Bitte denken Sie, dass Sie Helm -Diagramme in einfache Kubernetes -Manifests (im YAML -Format) generieren müssen, um sie zu laden.
Hinweis: Sie können Ihre Helm -Diagramme in einer YAML -Datei wie SO rendern:
helm template my-charts -n my-namespace my-charts/ -f values.yaml > ~ /my-manifests/output.yaml Caboto lädt mehrere YAML -Dokumente aus einer Datei, wenn sie gemäß der YAML -Spezifikation getrennt sind. Bitte rufen Sie caboto.api.create_graph_from_path(path) auf, der das Caboto -Diagramm konstruiert, indem er alle YAML -Dateien rekursiv laden. Entdecken und repräsentieren Sie danach alle unterstützten Beziehungen zu caboto.api.discover_relations(...) .
Die Idee besteht
list_applications(...) - Gibt eine Liste aller Anwendungen und ihrer zugehörigen Objekte zurücklist_containerimages(...) - Gibt eine Liste aller Containerbilder und die Pods zurück, die sie ausführenlist_services(...) - Gibt eine Liste aller Kubernetes -Serviceobjekte und die ihnen bedienenden Schoten zurückIn der Dokumentation finden Sie eine vollständige Liste der Build-In-Analysemunktionen.
Sie können Caboto als CLI -Skript ausführen, indem Sie:
python caboto [ARGUMENTS] Zum Beispiel können Sie das Caboto -Diagramm mit Mathplotlib mit python caboto -p zeichnen. Wenn sich die Manifestdateien nicht im aktuellen Arbeitsverzeichnis befinden, werden bitte den Pfad mit der Option --manifests/-m angeben. Führen Sie eine Analysefunktion mit dem Argument --run/-r und dem Funktionsnamen aus, wie so python caboto -r list_applications
Das Caboto -Diagramm für ein durchschnittliches Kubernetes -Projekt kann so aussehen: 
Caboto ist nach Giovanni Caboto benannt, dem frühesten bekannten europäischen Entdecker des Küstennordamerikas seit dem Nord. Bitte lesen Sie weiter: https://en.wikipedia.org/wiki/john_cabot