Kubernetes调度 -- NodeAffinity
kubernetes亲和性NodeAffinity机制允许Pod被调度到具有某些标签的节点。
比如希望Pod被调度到带有SSD硬盘的Kubernetes 节点上,可以对节点添加一个disktype:ssd
的标签。
Node标签
- 获取节点全部标签
[root@k8s-master ~]# kubectl get nodes --show-labels
NAME STATUS ROLES AGE VERSION LABELS
k8s-master Ready control-plane,master 24m v1.21.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node-role.kubernetes.io/master=,node.kubernetes.io/exclude-from-external-load-balancers=
- 获取感兴趣的标签
比如对标签ssh
和gpu
感兴趣,可以通过-L
选项筛选。
[root@k8s-master ~]# kubectl get nodes -L disktype,gpu
NAME STATUS ROLES AGE VERSION DISKTYPE GPU
k8s-master Ready control-plane,master 33m v1.21.2 ssd
- 给节点添加标签
kubectl label nodes <your-node-name> disktype=ssd
硬性限制和软性限制
kubernetes可以通过匹配Node节点标签来决定是否将Pod调度到该节点上。
限制类型 | 语法 |
---|---|
硬限制 | requiredDuringSchedulingIgnoredDuringExecution |
软限制 | preferredDuringSchedulingIgnoredDuringExecution |
- 硬限制
如果节点没有SSD硬盘,则不会调度。
apiVersion: v1
kind: Pod
metadata:name: nginx
spec:affinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:- matchExpressions:- key: disktypeoperator: Invalues:- ssd containers:- name: nginximage: nginximagePullPolicy: IfNotPresent
- 软限制
优先调度SSD硬盘节点,如果没有符合条件的节点,回退至普通节点调度。
apiVersion: v1
kind: Pod
metadata:name: nginx
spec:affinity:nodeAffinity:preferredDuringSchedulingIgnoredDuringExecution:- weight: 1preference:matchExpressions:- key: disktypeoperator: Invalues:- ssd containers:- name: nginximage: nginximagePullPolicy: IfNotPresent
Kubernetes调度 -- NodeAffinity相关推荐
- 从零开始入门 K8s | Kubernetes 调度和资源管理
作者 | 子誉 蚂蚁金服高级技术专家 关注"阿里巴巴云原生"公众号,回复关键词**"入门"**,即可下载从零入门 K8s 系列文章 PPT. Kubernet ...
- Kubernetes调度之亲和性和反亲和性
背景 Kubernetes中的调度策略可以大致分为两种,一种是全局的调度策略,要在启动调度器时配置,包括kubernetes调度器自带的各种predicates和priorities算法:另一种是运行 ...
- Kubernetes调度
Overview kube-scheduler 是kubernetes控制平面的核心组件,其默认行为是将 pod 分配给节点,同时平衡Pod与Node间的资源利用率.通俗来讲就是 kube-sched ...
- Kubernetes调度器-Pod分配给节点(node-pod亲和性、固定节点)
1.需求 约束一个Pod只能在特定的 Node(s)上运行,或者优先运行在特定的节点上.有几种方法可以实现这点,推荐的方法都是用标签选择器来进行选择.通常这样的约束不是必须的,因为调度器将自动进行合理 ...
- Kubernetes — 调度系统
目录 文章目录 目录 调度系统 Kubernetes 调度器的设计 Kubernetes 调度器的工作流 Kubernetes 调度系统的未来 Scheduler Extender(调度器扩展) Mu ...
- 进击的 Kubernetes 调度系统(二):支持批任务的 Coscheduling/Gang scheduling
作者 | 王庆璨(阿里云技术专家).张凯(阿里云高级技术专家) **导读:**阿里云容器服务团队结合多年 Kubernetes 产品与客户支持经验,对 Kube-scheduler 进行了大量优化和扩 ...
- 进击的 Kubernetes 调度系统(一):Kubernetes scheduling framework
作者 | 王庆璨(阿里云技术专家).张凯(阿里云高级技术专家) 导读:阿里云容器服务团队结合多年 Kubernetes 产品与客户支持经验,对 Kube-scheduler 进行了大量优化和扩展,逐步 ...
- 进击的Kubernetes调度系统(一):SchedulingFramework
作者:王庆璨 张凯 前言 Kubernetes已经成为目前事实标准上的容器集群管理平台.它为容器化应用提供了自动化部署.运维.资源调度等全生命周期管理功能.经过3年多的快速发展,Kubernetes在 ...
- Kubernetes 调度器实现初探
戳蓝字"CSDN云计算"关注我们哦! 作者:阿里云智能事业群高级开发工程师 萧元 转自:阿里系统软件技术 Kubernetes作为一个分布式容器编排调度引擎,资源调度是它的最重要的 ...
最新文章
- 北汽蓝谷和北汽新能源
- 在线试玩,在体感游戏中打败泰森,这位小哥破解了任天堂「拳无虚发」
- 吴琦:AI研究一路走到“黑”, 从VQA到VLN
- Python 中的pyc文件的用途
- MySQL 的日语认证有了,中文呢?
- Linux 下安装和配置git
- php查找特定字符并替代,php怎样查找替代字符串_后端开发
- 微软宣布新命令行工具 Windows Terminal 和 WSL2
- 中九天线调节经验总结
- 前端基础-html 介绍和head标签 ( 1 )
- 一般不要在头文件中定义变量
- AD9371开发总结(一)
- 马士兵oracle_,马士兵oracle视频教程学习笔记个人整理
- java7 pc6_GitHub - ShingmoYeung/oss-sdk-java at ec7c09757dcbcb2b934f46b12ab71f3e14d2df72
- st visual develop STM8 软件配置教程
- mysql 按记录编号_告别硬编码,mysql 如何实现按某字段的不同取值进行统计
- CAD关闭图层快捷键,隐藏显示的CAD图层
- 应届生面试国企时要注意的地方有哪些?
- 2018年就要过去了
- c语言遍历 json字符串,全面详解c语言使用cJSON解析JSON字符
热门文章
- xilinx平台dma分析
- 计算机专业科研经费排名2015,2016中国高校企业科研经费排名公布!
- 软件测试缺陷报告单怎么填,缺陷报告(缺陷报告怎么写)
- PHP自定义生成html网页
- SelFlow: Self-Supervised Learning of Optical Flow
- 关于 DPDK 的 一些零散的杂言杂语的念头/看法
- 一个U盘装 N 款系统不是梦!超级好用的装机神器!
- 【听学长学姐聊求职】2012年百度、腾讯、微软、奇虎360、人人、去哪网找工作经历总结...
- loader是什么?
- SpringSecurity之RememberMe