KEDAは常時起動でポーリングしQueue等をチェックしているので、結構なログの量になります。
現時点でログのレベルは debug, info, error の3つが設定可能で、デフォルトはinfoとなっています。
https://github.com/kedacore/keda#keda-operator-logging
この記事では、これを変更する方法を記載します。
ログレベルの確認
metricsでない方のkeda-operatorを確認して、以下の --zap-level=info
の値がログレベルになります。
$ kubectl get po -n keda keda-operator-5895ff46b9-kd86s -o yaml # --省略 spec: containers: - args: - --zap-level=info - --zap-time-encoding=epoch # --省略
ログレベルの変更
ログレベルを変更してみます。 既存の定義からログレベルの部分を置換して、再デプロイします。
$ kubectl get deployment -n keda keda-operator -o yaml | sed -s 's/\-zap\-level=.*/\-zap\-level=debug/' | kubectl apply -f - deployment.apps/keda-operator configured
これで、metricsでない方のkeda-operatorがReplaceされます。(AGEが少なくなっている)
$ kubectl get po -n keda NAME READY STATUS RESTARTS AGE keda-operator-864bc877df-7wtj5 1/1 Running 0 15s keda-operator-metrics-apiserver-6774776dbc-9c6dd 1/1 Running 0 3d15h
ログレベルが変わっていることを確認します。
$ kubectl logs -n keda -f keda-operator-864bc877df-7wtj5 # --省略 {"level":"debug","ts":1588549950.7350438,"logger":"kubemetrics","msg":"Starting serving custom resource metrics"} {"level":"debug","ts":1588549951.1408358,"logger":"k8sutil","msg":"Found namespace","Namespace":"keda"} {"level":"debug","ts":1588549951.140867,"logger":"k8sutil","msg":"Found podname","Pod.Name":"keda-operator-7f8cc87b8d-nwgck"} {"level":"debug","ts":1588549951.147501,"logger":"k8sutil","msg":"Found Pod","Pod.Namespace":"keda","Pod.Name":"keda-operator-7f8cc87b8d-nwgck"} # --省略