記事ディレクトリ
作成者: ningan123
日付: 2022-12-27 10:13
更新日: 2022-12-27 12:12
背景
k8sのエンドポイントにip項目がないことを警告するインジケーターが欲しい
下の図と同様に、一部の eps には IP がありません。これらのアイテムには時間内に警告し、理由を確認するために時間内に対処したいと考えています。
合計 7 つの EPS があり、4 つは正常、3 つは異常であることがわかります (kube-dns、kubernetes-dashboard、metrics-server)。
環境
kube-state-metrics バージョン: v2.6.0
操作する
# HELP kube_endpoint_address_available (Deprecated since v2.6.0) Number of addresses available in endpoint.
# TYPE kube_endpoint_address_available gauge
# HELP kube_endpoint_address_not_ready (Deprecated since v2.6.0) Number of addresses not ready in endpoint
# TYPE kube_endpoint_address_not_ready gauge
# HELP kube_endpoint_address Information about Endpoint available and non available addresses.
# TYPE kube_endpoint_address gauge
方法 1: 0 より大きい kube_endpoint_address_not_ready を選択する
項目は全部で7つあり、0以上は異常
さらに、kube-dns には 3 が表示され、kubernetes-dashboard と metrics-server には 1 が表示されていることがわかります。これはなぜでしょうか。
検証方法1
タイトルの背景の画像からわかるように、ep には ip:port が表示されており、これらの eps の具体的な詳細を確認できます: 以下の図に示すように、kube-dns には 1 つの ip と 3 つのポートがあります
。ダッシュボードには 1 つの IP、1 ポートがあり、メトリクスサーバーには 1 つの IP、1 ポートがあります
検証方法2
別のクラスター k2 が見つかりました。デプロイ方法は k と同じです。
k2 の 3 つの eps を見ると、3、1、1 であることがわかります。
方法 2: 0 未満の kube_endpoint_address_available を選択する
項目は全部で7つあり、0未満は異常です
nginx で 3 が表示されるのはなぜですか?
クラスターを見ると、nginx の下に 3 つの項目があることがわかります。
方法 3: kube_endpoint_address{ready="false"} は 0 より大きい値を選択します
選択がready="false"なので表示が異常です
再度、ready="true" を選択すると、
項目が 6 つあることがわかります。これはなぜでしょうか。
よく見てみると、kube_endpoint_address インジケーターが IP ラベルに追加されており、nginx には 3 つの IP があるため、3 つの項目に分割されています。
説明する
v2.6.0 では、新しいインジケーター kube_endpoint_address が追加されました
(詳細: https://github.com/kubernetes/kube-state-metrics/releases)
1761 にジャンプすると、kube_endpoint_address_available と kube_endpoint_address_not_ready が kube_endpoint_address_available と kube_endpoint_address_not_ready に置き換えられることがわかります。 v2.6.0以降
詳細については、https://github.com/kubernetes/kube-state-metrics/pull/1761 を参照してください。
終わり〜
メッセージ: 一歩一歩が大切です!
参考
https://github.com/kubernetes/kube-state-metrics/releases
https://github.com/kubernetes/kube-state-metrics/pull/1761