Caboto, el Kubernetes Semantic Analysis Toolkit. Contiene una biblioteca de pitón liviana para el análisis semántico de los manifiestos de Kubernetes simples sin ejecutar un clúster.
Internamente, Caboto representa todos los objetos K8 en una estructura gráfica basada en NetworkX que permite seguir los bordes y dar sentido a las relaciones entre objetos.
Para comenzar, cargar liso manifiesta archivos en Caboto. Por favor, tenga en cuenta que tendrá que generar gráficos de timón en manifiestos de Kubernetes simples (en formato Yaml) para cargarlos.
Sugerencia: puede representar sus gráficos de timón en un archivo YAML como así:
helm template my-charts -n my-namespace my-charts/ -f values.yaml > ~ /my-manifests/output.yaml Caboto carga múltiples documentos YAML de un archivo si están separados de acuerdo con la especificación YAML. Llame a caboto.api.create_graph_from_path(path) que construye el gráfico Caboto cargando recursivamente todos los archivos YAML desde la ruta. Posteriormente descubra y represente todas las relaciones compatibles con caboto.api.discover_relations(...) .
La idea es preparar una colección de funciones de análisis incorporadas, por ejemplo,
list_applications(...) - Devuelve una lista de todas las aplicaciones y sus objetos asociadoslist_containerimages(...) - Devuelve una lista de todas las imágenes de contenedores y las cápsulas que las ejecutanlist_services(...) - Devuelve una lista de todos los objetos de servicio de Kubernetes, y las vainas que los sirvenPuede encontrar una lista completa de funciones de análisis incorporadas en la documentación.
Puedes ejecutar Caboto como un script CLI usando:
python caboto [ARGUMENTS] Por ejemplo, puede trazar el gráfico Caboto usando Mathplotlib con python caboto -p . Si los archivos de manifiesto no se encuentran en el directorio de trabajo actual, especifique la ruta utilizando la opción --manifests/-m . Ejecute una función de análisis con el argumento --run/-r más el nombre de la función, como python caboto -r list_applications
El gráfico Caboto para un proyecto promedio de Kubernetes puede verse así: 
Caboto lleva el nombre de Giovanni Caboto, el primer explorador europeo conocido de la costa de América del Norte desde los nórdicos. Por favor, siga leyendo: https://en.wikipedia.org/wiki/john_cabot