Amazon EKS で コントロールプレーンのログ記録を有効にした際に Kubernetes API サーバーのログに「Auditing failed of request: encoding failed:」と記録される (対象:Kubernetes v1.21以前のバージョン)

記事タイトルとURLをコピーする

こんにちは
技術課の山本です。 春も近いですね。
残雪の富士山がきれいです。

やったこと

Amazon EKSクラスターを最新バージョンの 1.21 で作成しています
以下のドキュメントを参考にコントロールプレーンのログ記録を有効にしてみました
docs.aws.amazon.com

有効にすると以下のログが CloudWatch Logs に連携されるようになります

  • Kubernetes API サーバーのログ
  • 監査ログ
  • 認証ログ
  • コントローラーマネージャーのログ
  • スケジューラのログ

実際の画面

以下のロググループに出力されています

  • /aws/eks/<クラスター名>/cluster

困ったこと

各ログの出力を確認していたところ 異常なログがいくつかありました

  • Kubernetes API サーバーのログ

一部のログに「Auditing failed of request: encoding failed:」と出ています
APIサーバーへのリクエストの監査に失敗しているようです

調べると以下の Issue を見つけました github.com

バージョン 1.22 で修正される見込み

サポート問い合わせしたところ Kubernetes バージョン 1.22 で修正されるとのことでした
2022年 3月にリリースされるようです
バージョン 1.21 以前のバージョンで修正する方法は無いようです

参考:Amazon EKS Kubernetes versions - Amazon EKS
抜粋:

その他の参考URL

[kube-apiserver] Auditing failed of request: encoding failed · Issue #98612 · kubernetes/kubernetes · GitHub

Fix auditing failed of request: encoding failed by njuptlzf · Pull Request #102040 · kubernetes/kubernetes · GitHub

以上

山本 哲也 (記事一覧)

カスタマーサクセス部のエンジニア(一応)

好きなサービス:ECS、ALB

趣味:トレラン、登山(たまに)