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

news2024/9/28 15:31:25

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|Equal
    key: 污点key
    value:  污点value
    effect: 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 --force

kubectl taint node <节点名称>  key=:NoExecute

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1992213.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript中的__setitem__方法

1、问题背景 Python中存在一个名为__setitem__的方法&#xff0c;该方法能够在向对象中设置值时对其进行处理。例如&#xff0c;以下代码演示了如何在Python中使用__setitem__方法对一个字典中的键值对进行平方处理&#xff1a; class CustomDict(dict):def __setitem__(self…

PMP证书3A一次通过攻略(内含血泪教训和踩过的坑,避雷必看)

手把手教你如何3A速通PMP证书 首先&#xff1a;你考PMP到底图什么&#xff1f; 清晰、强烈的动机是意志力的基础&#xff0c;你是想要加薪升职&#xff1f;转行转岗&#xff1f;还是只是为了知识&#xff1f;无论什么理由都可以&#xff0c;当搞明白到底图什么&#xff0c;学习…

URDF在线可视化网站

​ URDF全称&#xff08;United Robotics Description Format&#xff09;统一机器人描述格式&#xff0c;是一个XML语法框架下用来描述机器人的语言格式&#xff0c;URDF在ROS界很流行。 关于URDF的详细介绍&#xff0c;请参考博文URDF学习&#xff08;一&#xff09;什么是U…

海康gige工业相机无驱动取像突破(c#实现,版本更新,你也可以移植到linux下去用)

我们前面有一个版本&#xff0c;没有整理&#xff0c;只能是500万海康gige工业相机无驱动取像成功&#xff08;黑白相机gm&#xff09;。 这里&#xff0c;版本更新了&#xff0c;可以不是500万&#xff0c;200万&#xff0c;80万也可以&#xff0c;你可以去试一试&#xff0c…

【C++二分查找 树状数组】2424. 最长上传前缀

本文涉及的基础知识点 C二分查找 树状数组 LeetCode2424. 最长上传前缀 给你一个 n 个视频的上传序列&#xff0c;每个视频编号为 1 到 n 之间的 不同 数字&#xff0c;你需要依次将这些视频上传到服务器。请你实现一个数据结构&#xff0c;在上传的过程中计算 最长上传前缀…

“AI+Security”系列第2期(一):对抗!大模型自身安全的攻防博弈

近日&#xff0c;由安全极客、Wisemodel 社区和 InForSec 网络安全研究国际学术论坛联合主办的“AISecurity”系列第 2 期——对抗&#xff01;大模型自身安全的攻防博弈线上活动如期举行。本次活动邀请了君同未来创始人兼 CEO 韩蒙、前阿里云高级安全专家郑瀚、ChaMd5 AI 组负…

浏览器突然无法正常访问网页的解决方案

文章目录 1.问题描述&#xff1a;2.解决方案3.总结 1.问题描述&#xff1a; 浏览器之前是可以正常搜索的&#xff0c;但是这次打开显示无法正常访问&#xff0c;但是部分网页又是可以正常访问的 2.解决方案 1.搜索控制面板 2.点击网络和Internet 3.点击网络共享中心 4.点击…

大数据面试SQL(五):查询最近一笔有效订单

文章目录 查询最近一笔有效订单 一、题目 二、分析 三、SQL实战 四、样例数据参考 查询最近一笔有效订单 一、题目 现有订单表t5_order&#xff0c;包含订单ID&#xff0c;订单时间&#xff0c;下单用户&#xff0c;当前订单是否有效。 请查询出每笔订单的上一笔有效订…

Fanuc机床的数据采集解决方案

对于制造业而言随着工业数字化的发展&#xff0c;完善工厂信息化管理&#xff0c;消除信息孤岛是越来越多工控人关注的事情。其中不得不提到的就是CNC系统&#xff0c;科学的程序管理和规范可以减少机床辅助时间&#xff0c;提高机床利用效率&#xff1b;及时准确的获取机床实时…

线程池c代码实现

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、线程池是什么&#xff1f;二、代码示例总结 前言 线程池c代码简单实现&#xff1a; 大致思路如下&#xff1a; 一个管理线程轮询工作线程是否空闲&#xf…

程序员如何在人工智能时代保持核心竞争力

目录 1.概述 1.1. 技术深度与广度的平衡 1.2. 软技能的培养 1.3. 持续学习和适应性 1.4. 理解和应用AI 1.5. 伦理和责任意识 2.AI辅助编程对程序员工作的影响 2.1.AI工具对编码实践的积极影响 2.2.AI工具的潜在风险 2.3.如何平衡利与弊 3.程序员应重点发展的核心能力…

RabbitMQ docker安装

后台配置文件 rabbitmq:image: rabbitmq:latestcontainer_name: rabbitmqports:- "5672:5672" # RabbitMQ server port- "15672:15672" # RabbitMQ management console portenvironment:RABBITMQ_DEFAULT_USER: adminRABBITMQ_DEFAULT_PASS: admin 若要打…

使用 Mojo 中的 Mandelbrot 和 Python 绘图

Mojo不仅非常适合编写高性能代码,而且还允许我们利用庞大的Python生态系统中的库和工具。通过无缝的Python互操作性,Mojo可以使用Python来做它擅长的事情,特别是gui,而不会牺牲关键代码的性能。让我们使用经典的Mandelbrot集合算法并在Mojo中实现它。 本教程展示了Mojo的两…

UE 选中框

【UE】框选功能_ue框选-CSDN博客 虚幻4 小功能教程系列-P33 覆盖物框选(框选场景里的物体)_哔哩哔哩_bilibili 步骤 先重载 UI中函数 OnPaint Position&#xff1a;起始位置 Size&#xff1a;大小 Brush: 选中框样式设置 在内容浏览器中新建一个“Slate笔刷” Tint&#x…

2023 江苏省第一届数据安全技术应用职业技能竞赛 决赛 部分wp

文章目录 一、前言比赛平台全貌题目附件及工具下载&#xff08;123网盘&#xff09; 二、参考文章三、题目&#xff08;解析&#xff09;一、内存取证-MemoryLife1、请给出内存镜像中黑客使用工具对外连接的IP地址及端口号是___________。&#xff08;格式为IP_PORT&#xff09…

Windows Server Backup(2016) 备份

Windows Server Backup(2016) 备份 1.使用 Windows Server Backup 备份 点击添加角色和功能&#xff0c;根据向导&#xff0c;添加 Windows Server Backup 功能。 添加完成后可通过 控制面板\系统和安全\管理工具 找到 Windows Server Backup&#xff0c;如下图 打开后如图&…

Openlayers6之地图覆盖物Overlay详解及使用,地图标注及弹窗查看详情(结合React)

demo案例&#xff1a;用户实现地图加载人员位置定位&#xff0c;并设置人员图片文字等标注&#xff0c;点击定位点查看人员详情。 主要通过ol/geom Point设置Style和ol/Overlay实现。主要实现步骤&#xff1a; 实现图文标注的实质是添加点时设置Ponit的样式&#xff0c;图片标…

浅谈安科瑞智慧用电系统在电气火灾中的应用

摘要&#xff1a;为了对电气火灾事故进行预测和预警&#xff0c;同时为了对电气火灾事故的应急救援提供 支持&#xff0c;将智慧用电监控系统应用于电气火灾中。该系统利用物联网、移动互联网、云平台、大数据技术&#xff0c;实现对电气线路电流、漏电、温度、谐波等参数进行…

leetcode日记(66)子集

实际上和上一题差不多&#xff0c;可以直接套用上一题回溯递归的函数写出来&#xff0c;复杂度比较高&#xff0c;因为是按照数字个数依次代入函数&#xff0c;然后通通放入一个vector中。 class Solution { public:vector<vector<int>> subsets(vector<int>…

Linux 实验基础环境准备(外网篇)

1.关闭禁用防火墙和selinux systemctl disable firewalld --now sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config2.保证可以连接外网 ping -c3 www.baidu.com 3.配置yum为阿里仓库并下载epel源 mkdir /etc/yum.repos.d/bak/; mv /etc/yum.repos.d/*.repo /e…