現状の構成:
master(raspberry pi) x1台
worker(raspberry pi) x2台
1)master側のraspberryにログインする
2)以下を開き、表示されている内容をコピーする。
~/.kube/config
3)以下、コピーする。
4)Lensに立ち上げる
5)File > Add Clusterを選択
6)上記で、コピーした内容をペーストする。
7)Add clusterボタンを押す
以下のように表示されている
現状の構成:
master(raspberry pi) x1台
worker(raspberry pi) x2台
1)master側のraspberryにログインする
2)以下を開き、表示されている内容をコピーする。
~/.kube/config
3)以下、コピーする。
4)Lensに立ち上げる
5)File > Add Clusterを選択
6)上記で、コピーした内容をペーストする。
7)Add clusterボタンを押す
以下のように表示されている
1)istioのインストールを行うとcert系のエラーが出る。
内容:
failed to update resource with server-side apply for obj EnvoyFilter/istio-system/tcp-stats-filter-1.10: Internal error occurred: failed calling webhook "validation.istio.io": Post "https://istiod.istio-system.svc:443/validate?timeout=10s": x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "cluster.local")
対処:
切り分けとして、個人で、作成したnamespaceなどの削除を行って
再度、istioの導入を行っても改善できないことがわかった。
シンプルに、docker desktopの初期化して、新規導入したらエラーは出なくなった。
課題:
grafanaを介して、CPUの閾値オーバーした場合、Lineに通知されることを検証してみる。
手順:
■アラートの通知を設定
1)ベルのマークを選択 > Nitification chasnnnelsタブからAdd channnelを選択する。
2)Name: line test(適当)
3)Type: LINE
4)Token: 以下のサイトで発行した物を使用する
https://notify-bot.line.me/ja/
5)Saveを行う。
以下のように作成できていることが把握できる。
■ダッシュボードの作成
1)Dashboardを選択
2)Add new pannelを選択
■ダッシュボードの作成
Metorics: 今回、対象のコンテナのCPU使用率(例:60%)をトリガーに
Lineに通知する実験を行いました。
コンテナのCPU使用率の閾値:
1)Metricsにクエリを挿入する。
1分平均のリクエスト数からどれくらい増えているかというクエリになる。
sum(rate(container_cpu_usage_seconds_total[1m])) by (pod) * 30
2)Applyを押す
->以下のグラフが表示されていることが把握できる。
■アラートルールの作成
次に上記で作成した閾値に対してのアラート通知を行ってみる
1)Alertタブを選択 > Create Alertを押す。
メモ(アラート通知のフローについて):
アラートまでのフローとして以下になる
グリーン -> オレンジ(Pending) ->レッド(通知を行う)
以下、赤枠の色が変化していくことになる。
2)Evaluate every:1m
->状態変化の判定(間隔)を決める箇所
3)For:2m
->pending判定から2分以上を継続して閾値オーバーになった場合、通知を行う。
4)IS ABOVE: 60
->上記の値を超えると閾値オーバーになる。
5)Send to: line test
->上記で作成したLine通知を指定する
6)Message: お試しに作成してみる。
以下、Lensというk8sのモニタリングツールを使って
Plug-in(Link先)
https://github.com/nevalla/lens-resource-map-extension
トレース状況が把握できるLensのプラグインになる。
便利そうなので、導入を行ってみる。
1)リソースをダウンロードする。
2)Lens -> Extensionを選択
3)Name
URL欄に以下を入力: @nevalla/kube-resource-map
4)Installを押す
導入完了の様子。
以下のようにリソースマップが把握できる
(表示全体の大きさも調節可能)
以下、wrodpressのリソースマップのに特定してみる。
リンク先:
https://k8slens.dev
以前に、ちらっと触れた程度だが、最初に触ったときから
色々と気になり出してきたので調査をしてみる。
導入方法は、上記のリンク先から行える。
以下のように、各種PODのリソース状況が把握できる。
各種Service状況も把握可能
Helmの管理も容易(Helmでの導入状況が把握できる)
感想:
terminalも使えるし、マニュフェストの編集もLensから可能なので
結構いいかも。
簡単な指示で、依頼するとコンテキストオーバーで記憶喪失になって コードの内容が一致しないことが起こるので、work.mdみたいな作業メモを取らせたるのがよい 途中から、別スレッドに再実施する場合でも、work.mdが引き継ぎとして 参照して実施してくれるのがポイント