如何查看kubernetes 具体的调度日志,kube-scheduler 日志怎么看

朱超
  • 7

我使用的 kubeadm 搭建的 kubernetes 集群,
有kube-scheduler 的 pod
但是查看这个pod 的日志,并没有具体的调度记录
image.png

我想查看每个pod的调度记录,甚至是 kube-scheduler 打分的记录,
不知道是否可以查看到?

回复
阅读 1.4k
1 个回答
ayesd
  • 2
新手上路,请多包涵

我使用的是kubeadm部署的,解决方案如下:
1、修改/etc/kubernetes/manifests/kube-scheduler.yaml,在日志级别的参数,如--v=4;
2、等待kube-scheduler自动重启
3、使用kubectl logs kube-scheduler-master01 -n kube-system查看日志。
重启完成后,我提交了一个deployment,查看了调度器的日志,确实有改Pod的调度记录。
关于“ kube-scheduler 打分的记录”暂时没有看见,待继续验证:1、调整日志级别;2、查看调度器源码是否有日志记录。
期望能够帮助你。

======更新=====
查看源码:

if klog.V(10).Enabled() {
        if len(pod.Spec.Volumes) > 0 && utilfeature.DefaultFeatureGate.Enabled(features.BalanceAttachedNodeVolumes) && nodeInfo.TransientInfo != nil {
            klog.Infof(
                "%v -> %v: %v, map of allocatable resources %v, map of requested resources %v , allocatable volumes %d, requested volumes %d, score %d",
                pod.Name, node.Name, r.Name,
                allocatable, requested, nodeInfo.TransientInfo.TransNodeInfo.AllocatableVolumesCount,
                nodeInfo.TransientInfo.TransNodeInfo.RequestedVolumes,
                score,
            )
        } else {
            klog.Infof(
                "%v -> %v: %v, map of allocatable resources %v, map of requested resources %v ,score %d,",
                pod.Name, node.Name, r.Name,
                allocatable, requested, score,
            )

        }
    }

发现日志等级要设置为10,可以打印“NodeResourcesBalancedAllocation”的计算分数

参考:
1、https://stackoverflow.com/que...
2、https://stackoverflow.com/que...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏