searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

k8s调度器(二)

2023-10-17 07:46:45
3
0

在部署好k8s集群后,我们可以在kube-system这个namespace下面看到调度器相关的pod,默认是kube-scheduler

k8s调度器由许多的插件去控制其每个阶段的逻辑,这些插件的输入就是有节点信息+环境信息+插件配置来决定的,插件配置分为两个部分,一部分是策略侧配置,一部分是请求侧配置。

 

策略侧配置我们一般比较少接触,通过策略侧配置我们可以控制插件是否启用,也可以配置插件的权重,或者配置一些相对固定的参数

apiVersion: kubescheduler.config.k8s.io/v1
kind: KubeSchedulerConfiguration
profiles:
  - plugins:
      score:
        disabled:
        - name: PodTopologySpread
        enabled:
        - name: MyCustomPluginA
          weight: 2
        - name: MyCustomPluginB
          weight: 1

 

请求侧参数就经常接触,在Deployment、DaemonSet、StatefulSet这一类部署相关的CRD里面我们可以看到很多调度插件的配置,最常见的就是nodeSelector,这个就是kube-scheduler自带的NodeAffinity节点亲和性插件的参数,它定义了只有节点上面配置了helloworld: 'true'这个label的时候,才会选择这个节点。

apiVersion: apps/v1
kind: Deployment
spec:
  replicas: 1
  selector:
    spec:
      nodeSelector:
        helloworld: 'true'
0条评论
作者已关闭评论
李****瑛
5文章数
0粉丝数
李****瑛
5 文章 | 0 粉丝
李****瑛
5文章数
0粉丝数
李****瑛
5 文章 | 0 粉丝
原创

k8s调度器(二)

2023-10-17 07:46:45
3
0

在部署好k8s集群后,我们可以在kube-system这个namespace下面看到调度器相关的pod,默认是kube-scheduler

k8s调度器由许多的插件去控制其每个阶段的逻辑,这些插件的输入就是有节点信息+环境信息+插件配置来决定的,插件配置分为两个部分,一部分是策略侧配置,一部分是请求侧配置。

 

策略侧配置我们一般比较少接触,通过策略侧配置我们可以控制插件是否启用,也可以配置插件的权重,或者配置一些相对固定的参数

apiVersion: kubescheduler.config.k8s.io/v1
kind: KubeSchedulerConfiguration
profiles:
  - plugins:
      score:
        disabled:
        - name: PodTopologySpread
        enabled:
        - name: MyCustomPluginA
          weight: 2
        - name: MyCustomPluginB
          weight: 1

 

请求侧参数就经常接触,在Deployment、DaemonSet、StatefulSet这一类部署相关的CRD里面我们可以看到很多调度插件的配置,最常见的就是nodeSelector,这个就是kube-scheduler自带的NodeAffinity节点亲和性插件的参数,它定义了只有节点上面配置了helloworld: 'true'这个label的时候,才会选择这个节点。

apiVersion: apps/v1
kind: Deployment
spec:
  replicas: 1
  selector:
    spec:
      nodeSelector:
        helloworld: 'true'
文章来自个人专栏
k8s调度器
2 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0