ルールファイルの比較によるKubernetesのPod起動時に発生するエラー原因の特定と修正

クラウド・分散システム研究室では,Prometheus やAlertmanager,Grafana を使い監視システムを構築している.監視システムのメトリクスがオペレーションミスやハードウェアの故障にともなうデータの消失を防ぐために,Prometheus のバックアップを実装している.バックアップの開発作業において開発者はYAML ファイルを作成し,kubectl apply コマンドを使いPod を起動させる.Pod が起動する際にエラーが発生すると,開発者はPod のログや失敗したYAML ファイルを確認し,エラーの原因を特定しYAML ファイルを修正する.開発者がKubernetes の知識が不足していると,エラーの原因特定やYAML ファイルの修正に時間や手間がかかる.基礎実験では,開発作業にかかる時間の内訳を計測した.作業にかかる時間の合計は2820 秒である. インターネット検索にかかる時間が合計1680 秒で最も長かった.kubectl get コマンドを実行して確認する時間が合計1020 秒で二番目に長かった.提案では,Pod の起動に失敗したYAML ファイルをもとに作成したルールファイルとYAML ファイルを比較することで開発作業で発生したエラーの原因特定にかかる時間を短縮する.実験環境では,Python の開発環境を構築する.評価方法では,提案手法で間違った箇所が修正されたYAML ファイルのうち,正しく修正されたYAML ファイルの割合を適合率で評価を行う. ...