Kubernetes kubelet のイベント送信レート設定の確認

イベントの観測要件と API サーバーの負荷を合わせて考慮してください。

説明

kubelet の eventRecordQPS は、1 秒あたりのイベント作成数の上限を指定します。0 はこのレート制限を解除します。低すぎる値では必要なイベントが記録されない場合がありますが、制限の解除はイベント急増時の API サーバー負荷を高める可能性があります。0 がすべての環境に適したセキュリティ要件ではありません。

想定される影響

  • 必要なイベントが欠けると、障害原因の分析が難しくなる場合があります。
  • 過剰なイベント要求は、API サーバーやイベント保存・収集系に負荷を与える場合があります。

対処方法

  • イベント発生量と API サーバーの容量に基づいて、KubeletConfiguration の eventRecordQPS を決めてください。正の値を使う場合は eventBurst も確認してください。
  • 制限を解除する必要がある場合にだけ 0 を選び、イベント急増時の動作をテストしてください。設定ファイルと既存の --event-qps 引数の優先順位を確認し、各ノードの実効設定とイベント収集を確認してください。

例

イベントレート設定だけを示す kubelet 設定の抜粋です。0 はこの制限を解除する例であり、すべてのイベントの収集・保存を保証するものではありません。

変更前

yaml
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
eventRecordQPS: 2

eventRecordQPS: 2 でイベント作成レートを制限します。バーストの許容量は別の eventBurst 設定に従います。

変更後

yaml
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
eventRecordQPS: 0

eventRecordQPS: 0 で kubelet のこのレート制限を解除します。API サーバーなど他の層の制限や保存方針は別途適用されます。

参考資料