pod详解 list-watch机制 预选优选策略 如何指定节点调度pod

embedded/2024/9/25 3:28:20/

K8S是通过 list-watch 机制实现每个组件的协同工作

controller-manager、scheduler、kubelet 通过 list-watch 机制监听 apiserver 发出的事件,apiserver 也会监听 etcd 发出的事件

scheduler的调度策略:

预选策略(Predicates):通过调度算法过滤掉不满足条件的node节点;如果没有满足条件的node节点,Pod会处于Pending状态,直到有符合条件的node节点出现
PodFitsResources(根据Pod的requests资源量)、PodFitsHost(根据Pod的nodeName)、PodFitsHostPorts(根据Pod使用的端口)、PodSelectorMatches(根据Pod的节点标签选择器)、NoDiskConflict(根据Pod使用存储卷)

优选策略(Priorities):根据优先级选项为满足预选策略条件的node节点进行优先级排序,最终选择优先级最高的node节点来调度Pod
LeastRequestedPriority(倾向资源使用率更低的节点)、BalancedResourceAllocation(倾向CPU和内存使用率更接近的节点)、ImageLocalityPriority(倾向本地已有要使用的镜像的节点)

标签的管理操作:

kubectl label <资源类型> <资源名称>  标签key=value                      #添加标签
kubectl label <资源类型> <资源名称>  标签key=value --overwrite          #修改标签
kubectl label <资源类型> <资源名称>  标签key-                           #删除标签kubectl get <资源类型> [资源名称]  --show-labels
kubectl get <资源类型> -l 标签key[=value]

如何指定node节点调度Pod?

键值运算关系
●In:label 的值在某个列表中
●NotIn:label 的值不在某个列表中
●Gt:label 的值大于某个值
●Lt:label 的值小于某个值
●Exists:某个 label 存在
●DoesNotExist:某个 label 不存在

1)使用 nodeName 指定node节点名称


2)使用 nodeSelector 指定node节点的标签


3)使用 节点亲和性、Pod亲和性、Pod反亲和性‘

节点亲和:

pod亲和:

pod反亲和:


4)使用 给node节点设置污点,Pod设置容忍

设置容忍:

Pod设置容忍:tolerations(与containers字段同一层级)
spec:tolerations:- operator: Exists|Equalkey: 污点keyvalue:  污点valueeffect: NoSchedule|NoExecute|PreferNoSchedule#其中的 key、vaule、effect 都要与 Node 上设置的 taint 保持一致
#operator 的值为 Exists 将会忽略 value 值,即存在即可
#tolerationSeconds 用于描述当 Pod 需要被驱逐时可以在 Node 上继续保留运行的时间

设置污点:

Kubctl taint node 节点名称 污点key=[value]:类型
类型:NoSchedule(一定不被调度)    PreferNoSchedule(尽量不被调度)    NoExecute(不会被调度并驱逐Pod)kubectl taint node 节点名称 污点key-kubectl describle node 节点名称 | grep - A taints

设置节点不可调度:

kubectl cordon 节点名称kubectk uncordon 节点名称kubectl taint node <节点名称>  key=:NoSchedule

设置节点不可调度并驱逐Pod

kubectl drain <节点名称>  --ignore-daemonsets --delete-emptydir-data --forcekubectl taint node <节点名称>  key=:NoExecute


http://www.ppmy.cn/embedded/94050.html

相关文章

【论文解读】Performance comparison among popular implementations of H.264 encoders

级别:IOP作者:H Y El-Arsh, A S Elliethy, A M Abdelaziz and H A Aly机构:Military Technical College时间:2021下载地址:Performance comparison among popular implementations of H.264 encoders摘要 研究背景: 论文关注由无人机(UAV)携带的高分辨率相机捕获的遥感视…

河南萌新联赛2024第(四)场:河南理工大学 B C D F H I

题目集 B 小雷的神奇电脑 题目描述 小雷有一台特殊的电脑&#xff0c;这台电脑有一个 m m m位的寄存器&#xff0c;能够存储一个 m m m位的二进制数。换句话说&#xff0c;这台电脑可以存储一个从 0 0 0到 2 m − 1 2^m-1 2m−1之间的任何非负整数。 小雷还有一组 n n n个非…

python打怪练习

1. 求一个数的幂值 def mi(a, b):c afor i in range(b-1):a a * creturn aprint(mi(2, 4))2. 输出斐波那契数列 def feibonaqi(n):l []a 1b 1for i in range(n):l.append(a)l.append(b)a b ab a bprint(l)feibonaqi(5)3. 输出特定字典数据 keys [name, old, score…

NVIDIA Studio优化

NVIDIA Studio优化 在生产力方面,NVIDIA GPU打造的CUDA生态圈已经是业界无可匹敌的存在,RTX显卡也是设计师们优先考虑的高效工具,因此RTX40系列配合NVIDIA Studio驱动也将会为内容创作者们提供更加出色的选择。总的来说,目前RTX可以加速110多款主流创意应用,此外,SDK的提…

【vulnhub】WebDeveloper:1靶机

信息收集 靶机扫描 nmap 192.168.93.0/24 端口开放22、80 进行目录扫描&#xff0c;发现ipdata目录 进入该目录发现一个流量包&#xff0c;下载使用wireshark打开 查看后发现wordpress后台用户密码&#xff1a;webdeveloper:Te5eQg&4sBS!Yr$)wf%(DcAd 拼接/wp-admin 用找…

笔记本CPU天梯图(2024年8月),含AMD/骁龙等新CPU

原文地址&#xff08;高清无水印原图/持续更新/含榜单出处链接&#xff09;&#xff1a; 2024年8月笔记本CPU天梯图 2024年8月笔记本CPU天梯图 2024年8月5日更新日志&#xff1a;常规更新Cinebench R23、PassMark笔记本CPU天梯图&#xff0c;新增Geekbench 6.2单核多核天梯图&…

[FSCTF 2023]webshell是啥捏

[FSCTF 2023]webshell是啥捏 点开之后页面如下&#xff1a; php中变量与变量之间用点号连接表示拼接&#xff0c;题目拼接结果为passthru 接着我们分析这段php代码&#xff1a; if (isset($_GET[&#x1f47d;])) {eval($&#x1f62d;($_GET[&#x1f47d;])); };isset($_…

第二季度云计算市场份额榜单:微软下滑,谷歌上升,AWS仍保持领先

2024 年第二季度&#xff0c;随着企业云支出达到 790 亿美元的新高&#xff0c;三大云计算巨头微软、谷歌云和 AWS的全球云市场份额发生了变化。 根据新的市场数据&#xff0c;以下是 2024 年第二季度全球云市场份额结果和六大世界领先者&#xff0c;其中包括 AWS、阿里巴巴、…