2

k8s 调度实现有两种形式:调度策略和调度配置文件

两者之间有什么关系?它们似乎重叠,但有一些差异。例如,有一个NodeUnschedulableprofiles但没有在policyCheckNodePIDPressure在 中policy,但不在profiles

另外,调度配置中有一个默认的启动选项,但调度策略中没有指定。我如何知道默认启动策略?

我真的很感激这方面的任何帮助。

4

1 回答 1

1

区别很简单:Kubernetes 不支持 v1.19 或更高版本的“调度策略”。Kubernetes v1.19 支持使用单个调度器配置多个调度策略。默认情况下,我们使用它在所有 v1.19 集群中定义装箱调度策略。默认情况下,“调度配置文件”可用于在所有 v1.19 集群中定义装箱调度策略。

要使用该调度策略,只需在 Pod 规范中指定调度程序名称 bin-packing-scheduler。例如:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 5
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      schedulerName: bin-packing-scheduler
      containers:
      - name: nginx
        image: nginx:1.17.8
        resources:
          requests:
            cpu: 200m

此部署的 pod 将被调度到资源利用率最高的节点上,以优化自动缩放或确保在同一集群中混合大型和小型 pod 时有效放置 pod。

如果未指定调度程序名称,则将使用默认传播算法在所有节点上分发 pod。

于 2021-11-26T17:02:45.493 回答