前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nodeSelector:Pod 定向调度

nodeSelector:Pod 定向调度

作者头像
看、未来
发布2022-09-27 21:35:32
1720
发布2022-09-27 21:35:32
举报

文章目录

简介

在实际情况下,有时候需要将 Pod 调度到制定的一些 Node 上,比如说CPU密集型Pod调度到CPU够大的节点上,IO密集型Pod调度到带宽够大的节点上等等。可以通过 Node 的标签和 Pod 的 nodeSelector 属性相匹配,来达到上述目的。

给 Node 上标签

代码语言:javascript
复制
kubelet labels nodes <node-name> <label-key>=<label-value>

支持打多个标签,用逗号隔开;

如果要更新标签,加上 --overwrite;如果要删除标签:

代码语言:javascript
复制
kubelet labels nodes <node-name> <label-key>-

如果是查看标签,kubectl get node --show-labels=true


标签选择

比方说我们现在给某个 node 上了一个标签 zone=sz

代码语言:javascript
复制
apiversion: v1
kind: deployment
metadate:
  name: nginx
  labels:
    name: nginx
spec:
  replicas: 1
  selector:
    name: nginx
  template:
    metadate:
      labels:
        name: nginx
    spec:
      containers:
      - name: master
        image: nginx
        ports: 
        - containerPorts: 80
      nodeSelector:
        zone: sz

如果我们给多个 node 都上了这个标签,那么 schedule 调度算法将会在这些 node 中选择一个可用的 Node 进行调度。 如果集群中没有一个 node 有这个标签,那就 pending。


kubernetes 预定义标签

在 node 上,除了我们认为设定的标签,k8s 也会根据 node 的实际情况设定一些标签:

代码语言:javascript
复制
kubernetes.io/hostname
beta.kubernetes.io/os(到 1.18 版本删除)
beta.kubernetes.io/arch(到1.18 版本删除)
kubernetes.io/arch
kubernetes.io/os

用户可以使用这些系统标签进行调度。


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 简介
  • 给 Node 上标签
  • 标签选择
    • kubernetes 预定义标签
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档