Caboto、Kubernetesセマンティック分析ツールキット。クラスターを実行せずにマニフェストをマニフェストするための軽量のPythonライブラリが含まれています。
内部的には、CabotoはNetworkXに基づいたグラフ構造内のすべてのK8Sオブジェクトを表し、次のエッジを可能にし、オブジェクト間の関係を理解します。
まず、プレーンマニフェストファイルをカボトにロードします。それらをロードするには、ヘルムチャートをプレーンクベルネートマニフェスト(YAML形式)に生成する必要があることに注意してください。
ヒント:ヘルムチャートを1つのYAMLファイルでレンダリングすることができます。
helm template my-charts -n my-namespace my-charts/ -f values.yaml > ~ /my-manifests/output.yaml Cabotoは、YAML仕様に従って分離されている場合、1つのファイルから複数のYAMLドキュメントをロードします。 caboto.api.create_graph_from_path(path)に電話してください。パスからすべてのyamlファイルを再帰的にロードしてCabotoグラフを構築します。その後、 caboto.api.discover_relations(...)とのすべてのサポートされている関係を発見し、表現します。
アイデアは、ビルドイン分析関数のコレクションを準備することです。
list_applications(...) - すべてのアプリケーションのリストとそれに関連するオブジェクトを返しますlist_containerimages(...) - すべてのコンテナ画像のリストを返し、それらを実行しているポッドlist_services(...) - すべてのkubernetesサービスオブジェクトのリストとそれらを提供するポッドを返しますビルドイン分析関数の完全なリストは、ドキュメントに記載されています。
次を使用してCABOTOをCLIスクリプトとして実行できます。
python caboto [ARGUMENTS]たとえば、 python caboto -pを使用してMathplotlibを使用してCabotoグラフをプロットできます。マニフェストファイルが現在の作業ディレクトリにない場合は--manifests/-mオプションを使用してパスを指定してください。 --run/-r引数とpython caboto -r list_applications名で分析関数を実行します。
平均的なKubernetesプロジェクトのCabotoグラフは次のようになるかもしれません:
カボトは、北欧以来北米沿岸の最も早いヨーロッパの探検家であるジョヴァンニ・カボトにちなんで名付けられました。 https://en.wikipedia.org/wiki/john_cabotをお読みください