如果我不想依赖 pod 名称,如何获取 Kubernetes 集群中所有调度器的列表?
命令
kubectl get pods --all-namespaces | grep scheduler
将会错过 pod 名称中有拼写错误的调度程序(例如,它找不到my-custom-sheduler
)或作为 OS 服务安装而不是使用 pod 的调度程序。
我正在寻找类似的东西kubectl get schedulers
,但这个命令只返回error: ther server doesn't have a resource type "schedulers"
。
答案1
这个问题意味着您正在运行自定义调度程序。在这种情况下,这取决于您用来识别其 Pod 和部署的名称和标签。
对于 Kubernetes 自带的默认调度程序,其默认名称定义在kubernetes 常量是“kube-scheduler”,您可以使用标签(-l
)过滤器获取其 pod:
kubectl get pods -n kube-system -l component=kube-scheduler