Kubernetes:如何降低已部署集群中scheduler的日志输出级别
已部署K8s集群调整kube-scheduler日志级别的操作方法
K8s 各核心组件的日志级别统一由启动参数 --v 控制,数值对应日志详细程度如下:
--v=0:仅输出 warn、error 级别核心告警日志,日志体积最小--v=1:输出 info 级别基础运行日志,适合常规生产环境使用--v=2~4:输出更细粒度的调度逻辑 info 日志,排查常规问题时使用--v>=5:输出 debug 级别全量调试日志,日志体积最大,仅用于深度问题排查
场景1:kubeadm 部署集群(kube-scheduler 为控制面静态 Pod)
- 登录任意 Master 节点,进入静态 Pod 清单目录:
cd /etc/kubernetes/manifests/ - 编辑 kube-scheduler 配置清单:
vi kube-scheduler.yaml - 找到
spec.containers.command字段下的启动参数列表,修改或新增--v参数为目标值,示例如下:command: - kube-scheduler - --authentication-kubeconfig=/etc/kubernetes/scheduler.conf - --authorization-kubeconfig=/etc/kubernetes/scheduler.conf - --bind-address=127.0.0.1 - --kubeconfig=/etc/kubernetes/scheduler.conf - --leader-elect=true - --v=1 # 调整为你需要的日志级别数值 - 保存退出文件后,kubelet 会自动销毁旧的 kube-scheduler Pod 并启动新实例,配置即刻生效
若为多 Master 高可用集群,需在所有 Master 节点上重复上述操作
- 验证修改生效:执行
kubectl logs -n kube-system kube-scheduler-<你的Master节点主机名>确认日志输出量符合预期
场景2:二进制部署集群(kube-scheduler 为 systemd 托管服务)
- 登录任意 Master 节点,打开 kube-scheduler 的 systemd 配置文件,通常路径为
/etc/systemd/system/kube-scheduler.service - 找到
ExecStart启动命令行,修改或新增--v参数为目标值,示例如下:ExecStart=/usr/local/bin/kube-scheduler \ --address=127.0.0.1 \ --kubeconfig=/etc/kubernetes/scheduler.conf \ --leader-elect=true \ --v=0 # 调整为你需要的日志级别数值 - 保存退出后执行以下命令重启服务使配置生效:
systemctl daemon-reload systemctl restart kube-scheduler
若为多 Master 高可用集群,需在所有 Master 节点上重复上述操作
- 验证修改生效:执行
systemctl status kube-scheduler确认服务运行正常,再查看日志输出确认级别符合预期
生产环境配置建议
- 日常运行时建议设置为
--v=0或--v=1,可在保留必要排查信息的前提下最大程度压缩日志体积 - 仅在需要排查调度异常问题时临时调高日志级别,问题修复后立刻调回低级别
内容的提问来源于stack exchange,提问作者karlos
相关产品推荐
相关产品推荐

