Caboto, The Kubernetes Semantic Analysis Toolkit. Il contient une bibliothèque Python légère pour l'analyse sémantique des manifestes simples de Kubernetes sans exécuter de cluster.
En interne, Caboto représente tous les objets K8S dans une structure graphique basée sur NetworkX qui permet les bords suivants et donne un sens aux relations entre les objets.
Pour commencer, chargez des fichiers de manifestes simples dans Caboto. Veuillez vous soucier que vous devrez générer des graphiques de barre dans les manifestes de Kubernetes simples (au format YAML) afin de les charger.
Astuce: vous pouvez rendre vos graphiques de barre dans un fichier YAML comme ça:
helm template my-charts -n my-namespace my-charts/ -f values.yaml > ~ /my-manifests/output.yaml Caboto charge plusieurs documents YAML à partir d'un fichier s'ils sont séparés en fonction de la spécification YAML. Veuillez appeler caboto.api.create_graph_from_path(path) qui construit le graphique Caboto en chargeant récursivement tous les fichiers YAML à partir du chemin. Ensuite, découvrez et représentez toutes les relations soutenues avec caboto.api.discover_relations(...) .
L'idée est de préparer une collection de fonctions d'analyse de reconstitution, par exemple
list_applications(...) - Renvoie une liste de toutes les applications et leurs objets associéslist_containerimages(...) - Renvoie une liste de toutes les images de conteneurs, et les pods les exécutantlist_services(...) - Renvoie une liste de tous les objets de service Kubernetes et les pods les servantUne liste complète des fonctions d'analyse de reconstitution peut être trouvée dans la documentation.
Vous pouvez exécuter Caboto comme un script CLI en utilisant:
python caboto [ARGUMENTS] Par exemple, vous pouvez tracer le graphique Caboto en utilisant MathPlotlib avec python caboto -p . Si les fichiers manifestes ne sont pas situés dans le répertoire de travail actuel, veuillez spécifier le chemin à l'aide de l'option --manifests/-m . Exécutez une fonction d'analyse avec l'argument --run/-r plus le nom de la fonction, comme SO python caboto -r list_applications
Le graphique Caboto pour un projet moyen de Kubernetes peut ressembler à ceci: 
Caboto est nommé d'après Giovanni Caboto, le premier explorateur européen connu de l'Amérique du Nord côtière depuis le nordique. Veuillez lire la suite: https://en.wikipedia.org/wiki/John_cabot