kubernetes - K8s调度守护程序集

标签 kubernetes scheduler daemonset

我想在群集的所有节点上安排一个Pod。没有异常(exception)。当资源不短缺时,DaemonSet似乎可以完成此工作。但是有时其他Pod会在某些节点上进行调度,这样就没有更多资源可供DaemonSet的Pod调度。

强制在所有节点上调度DaemonSet的pod的最佳方法是什么?在GCP上运行,因此可用的最新版本是1.11.5

最佳答案

听起来您可能已经为DaemonSet配置了 default scheduler ,并且在kube-scheduler配置中未将pod设置为preempted(禁用了抢占):

apiVersion: componentconfig/v1alpha1
kind: KubeSchedulerConfiguration
algorithmSource:
  provider: DefaultProvider

...

disablePreemption: true

默认值为disablePreemption: false,因此,如果您的Pod没有被抢占以允许调度守护程序集,则还有其他问题。

如果您使用的是DaemonSet scheduler(k8s 1.11或更早版本的默认值),则无论如何都要安排DaemonSet容器。 (如果不是,那么又有其他问题)。

关于kubernetes - K8s调度守护程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54030421/

相关文章:

kubernetes - Gitlab Autodevops如何始终保持一个 pods 存活

c# - 如何区分Task Scheduler 1.0和Task Scheduler 2.0?

Erlang VM : scheduler runtime information

kubernetes - 无法识别 “filebeat-kubernetes.yaml” : no matches for kind “DaemonSet” in version “extensions/v1beta1”

linux - Kubernetes:是否可以将主机的整个根文件系统挂载到容器中并执行其命令?

amazon-s3 - 如何将S3存储桶复制到Kubernetes节点上

kubernetes - laravel 9 预定作业已执行但未排队

docker - "Kind"写入节点创建集群失败

kubernetes - 扩展 Kubernetes 2 主集群

java - 这个java项目思路实用吗? (线程调度器和粒子群优化)