KubernetesのPodステータスに基づくルールファイルを用いたエラー原因箇所の特定による実行コマンド数の削減

東京工科大学では,Kubernetes を使用する実習を3 年生に向けて行っている.Kubernetes を使用しPod を作成するとき,Pod が起動せずエラーが起こることがある.学生はPod を起動するためにkubectl describe コマンドやkubectl apply コマンドを使用し直す作業をPod が起動するまで行う.課題は,Kubernetes を使用してPod を起動させる際に起きるエラーの原因を特定しPod が起動するためにkubectl コマンドを何度も打つ作業や,YAML ファイルをテキストエディタで修正する作業が手間になることである.提案として,エラーが起きたYAML ファイルからエラー箇所を特定するためのルールファイルを作成する.kubectl describe コマンドのEvents にエラー原因がある箇所がないときはルールファイルを使用しエラー箇所を特定する.基礎実験として,14 回のプロジェクト実習のうち6 回で18 個のYAMLファイルを集め,エラーが起きたPod のステータスとその原因について集計した.結果として,ステータスはCrashLoopBackOffとError とPending が約89%を占めた.そのため,CrashLoopBackOffとErrorとPending のエラー原因を解決すれば,エラーが発生したとき約89%を解決できる.これらエラーの解決に14 個のルールが必要である.評価は,エラー解決までにkubectl apply コマンドを実行した回数と提案プログラムで正しいエラー箇所を特定できているかの精度を計測する. ...