説明
kube-apiserver の --audit-log-maxbackup は、保存する古い監査ログファイルの最大数を指定します。0 はファイル数の制限なしを意味し、省略時は実行バージョンのデフォルト値が使われます。小さい正の値と頻繁なローテーションが重なると、実際の保存期間が短くなる場合があります。
想定される影響
- 頻繁なローテーションにより、必要な過去の記録が早く削除される場合があります。
- ログ量を考慮せずファイル数だけを決めると、保存目標を満たせない場合があります。
対処方法
- ログ量、ファイルサイズ、必要な保存期間に合わせて --audit-log-maxbackup を設定してください。10 ファイルは例であり、十分な保存日数を自動的に保証する値ではありません。
- 監査ポリシーとファイル保存先を有効にし、maxage、外部収集、容量も合わせて管理してください。ローテーション後に実際に残る記録を確認してください。
例
v1.30.0 の引数を比較する既存の抜粋です。監査ポリシー、--audit-log-path、必要なマウントと他の API サーバー設定は省略しています。
変更前
yaml
apiVersion: v1
kind: Pod
metadata:
name: kube-apiserver
spec:
containers:
- name: kube-apiserver
image: registry.k8s.io/kube-apiserver:v1.30.0
command:
- kube-apiserver
args:
- --audit-log-maxbackup=5
古いログファイルを最大 5 個保持します。ログ量が多いと、必要な記録が早く削除される場合があります。
変更後
yaml
apiVersion: v1
kind: Pod
metadata:
name: kube-apiserver
spec:
containers:
- name: kube-apiserver
image: registry.k8s.io/kube-apiserver:v1.30.0
command:
- kube-apiserver
args:
- --audit-log-maxbackup=10
古いログファイルを最大 10 個保持します。常に 10 個あることや、一定日数以上の保存を保証するものではありません。