前回、Prometheus と Grafana の構築を kubernetes 上で行ってくれる yaml を作成しました。
今回はこれに、Prometheus に監視対象となる Pod や Service の追加が行われた状態の yaml を作ってみます。
前回に引き続き今回も Chat-GPT さんに協力をしてもらいました。
前回作ったyamlをベースに追加していくことを考え、作成してもらったyamlにdefaultのnamespaceに展開されたPod、DeploymentあとServiceを監視するための情報をconfigmapに追加してほしいと依頼しました。
しかし、出てきたものをそのまま展開し、Pod、Deployment、Serviceを展開したのですが何も表示されません。
そのため、何も表示されなかったことをChatGPTに伝えると、アノテーションを追加するように言われました。
(若干このとき、アレ? そんなの必要だったっけ? ラベルで拾うか拾わないかでよくない? と思ったりもしました。)
しかし、それを追加しても表示されなかったのでどうしたものかと調査したところ、どうやらSAやRole、Rolebindingを設定していなかったのでprometheusがAPIでアクセスできなかったのが原因だったようです。
ちょっと反則ですが、正しくPodの監視ができるyamlを自作成してそれと、今現在作成中のyamlを比較してもらい、何が問題だったのかを確認してもらいました。
こんな感じで足りなかった部分を分析してくれます。
以下は情報を元に足りてなかった部分の具体的な内容になります。
というわけでその辺の内容を含めたyamlを作成する作成してもらえるようお願いし、ようやくprometheusの展開に成功しました。
実際にPodを展開してみてみたいと思います。
展開直後は、まだPodが起動しきっていないので監視対象としてできますが、UNKNOWNです。
Podが起動するとUPと表示してくれました。
ちゃんと状態を監視できていますね。
続いてDeploymentやServiceも監視できないかチャレンジしてみたいと思います。
DeploymentとService を監視できるように修正を依頼したところ、comfigmapに以下を追加するように案内されました。
内容をyamlに加えて再展開すると、追加したDeploymentとServiceも監視対象として表示できました。
今回はここまでになります。
やはり、ChatGPTから欲しい回答を得るにはインプットが重要だと痛感しますね。
ただ、毎回毎回正しくインプットできるとは限りません。
うまくいかなかったときに、『やりたい事に対して何が足りていないのか』を上手にChatGPTに聞けるようにしていけるかがChatGPTを使いこなすカギではないかと思いました。
今回は以上になります。