登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
科技
›
k8s~控制deamonset中pod的数量
k8s~控制deamonset中pod的数量
[ 复制链接 ]
丘奕奕
2025-6-9 15:19:31
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
在Kubernetes中,DaemonSet是一种控制器,用于确保集群中的每个节点(或特定标签选择器匹配的节点)运行一个Pod的副本。由于DaemonSet的特性,它通常会在每个节点上运行一个Pod,但有时你可能需要对Pod的数量进行限制。以下是一些控制DaemonSet中Pod数量的方法:
1.使用节点选择器(Node Selector)
通过在DaemonSet的spec中设置nodeSelector,可以指定哪些节点上运行Pod。例如,如果你想在带有特定标签的节点上运行Pod,可以这样做:
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: example-daemonset
spec:
selector:
matchLabels:
app: example
template:
metadata:
labels:
app: example
spec:
nodeSelector:
key: value
containers:
- name: example-container
image: example-image
复制代码
在这个例子中,只有带有key=value标签的节点会运行Pod。
2.使用节点亲和性(Node Affinity)
节点亲和性提供了更细粒度的控制,可以使用nodeAffinity来指定Pod应该调度到哪些节点上。例如:
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: example-daemonset
spec:
selector:
matchLabels:
app: example
template:
metadata:
labels:
app: example
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: key
operator: In
values:
- value
containers:
- name: example-container
image: example-image
复制代码
在这个例子中,只有满足key In [value]条件的节点会运行Pod。
3.使用容忍度(Tolerations)
如果某些节点上有污点(Taints),可以通过设置容忍度(Tolerations)来允许Pod调度到这些节点上。例如:
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: example-daemonset
spec:
selector:
matchLabels:
app: example
template:
metadata:
labels:
app: example
spec:
tolerations:
- key: key
operator: Equal
value: value
effect: NoSchedule
containers:
- name: example-container
image: example-image
复制代码
在这个例子中,Pod会容忍带有key=value污点的节点。
4.更新策略(Update Strategy)
DaemonSet支持滚动更新,可以通过设置updateStrategy来控制更新过程中的Pod数量。例如:
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: example-daemonset
spec:
selector:
matchLabels:
app: example
template:
metadata:
labels:
app: example
spec:
containers:
- name: example-container
image: example-image
updateStrategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
maxSurge: 0
复制代码
在这个例子中,maxUnavailable设置为1,表示在更新过程中最多有一个Pod不可用;maxSurge设置为0,表示在更新过程中不会创建额外的Pod。
5.使用PodDisruptionBudget(PDB)
PodDisruptionBudget是一种资源对象,用于限制同时中断的Pod数量。虽然PDB主要用于处理节点维护时的Pod迁移,但也可以用于限制Pod的创建。例如:
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: my-pdb
spec:
minAvailable: 1
selector:
matchLabels:
app: my-app
复制代码
在这个示例中,minAvailable: 1表示至少需要保证一个Pod处于可用状态,从而间接限制了同时创建的Pod数量。
6.使用LimitRange和ResourceQuota
LimitRange用于限制单个Pod的资源请求和限制,而ResourceQuota用于限制命名空间内的资源总量。例如:
apiVersion: v1
kind: LimitRange
metadata:
name: my-limit-range
spec:
limits:
- type: Container
max:
cpu: "2"
memory: 2Gi
min:
cpu: "100m"
memory: 200Mi
---
apiVersion: v1
kind: ResourceQuota
metadata:
name: my-resource-quota
spec:
hard:
pods: "10"
cpu: "20"
memory: 20Gi
复制代码
在这个示例中,LimitRange限制了单个Pod的资源使用,而ResourceQuota限制了命名空间内总的Pod数量和资源使用量。
总结
通过以上方法,你可以灵活地控制DaemonSet中Pod的数量和调度策略。具体选择哪种方法取决于你的具体需求和集群的配置。以下是一些常见场景和推荐方法:
• 特定节点运行Pod:使用节点选择器(Node Selector)或节点亲和性(Node Affinity)。
• 容忍特定污点的节点:使用容忍度(Tolerations)。
• 控制更新过程中的Pod数量:使用更新策略(Update Strategy)。
• 限制同时中断的Pod数量:使用PodDisruptionBudget(PDB)。
• 限制命名空间内的资源使用:使用LimitRange和ResourceQuota。
希望这些方法能帮助你更好地管理和优化Kubernetes集群中的DaemonSet。如果有任何问题,可以参考Kubernetes的官方文档或联系技术支持获取进一步帮助。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
k8s
控制
deamonset
pod
数量
相关帖子
k8s-Pod中的网络通信(3)
k8s控制器resyncPeriod机制定时把k8s apiserver内存和cpu打得很高
【Kubernetes】使用Helm简化k8s部署、管理
JavaSE----- 流程控制
k8s发展历程和特点与功能
具身智能:零基础入门睿尔曼机械臂(三)——夹爪抓取与释放控制全解析
串联控制环路仿真解析
Python 程序的流程控制
K8S 中使用 YAML 安装 ECK
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
k8s-Pod中的网络通信(3)
1
1007
判涔
2025-11-02
业界
k8s控制器resyncPeriod机制定时把k8s apiserver内存和cpu打得很高
2
471
蓬庄静
2025-11-06
业界
【Kubernetes】使用Helm简化k8s部署、管理
1
478
梨恐
2025-11-12
业界
JavaSE----- 流程控制
0
686
撷监芝
2025-11-20
业界
k8s发展历程和特点与功能
1
919
供挂
2025-12-01
安全
具身智能:零基础入门睿尔曼机械臂(三)——夹爪抓取与释放控制全解析
1
302
乱蚣
2025-12-10
业界
串联控制环路仿真解析
1
45
乐敬
2025-12-11
安全
Python 程序的流程控制
0
935
明思义
2025-12-11
业界
K8S 中使用 YAML 安装 ECK
0
723
全跺俚
2025-12-12
回复
(4)
琉艺戕
2025-10-16 00:49:57
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,学习下。
染悄
2025-10-25 00:46:53
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
用心讨论,共获提升!
坪钗
2025-10-31 23:54:27
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,试用一下
拍棹
2025-11-26 18:15:03
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢发布原创作品,程序园因你更精彩
戟铵腴
2025-11-29 14:47:42
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
不错,里面软件多更新就更好了
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
丘奕奕
2025-11-29 14:47:42
关注
0
粉丝关注
14
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845356
3934307807
991123
4
xiangqian
638210
5
韶又彤
9999
6
宋子
9983
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多
今日好文热榜
198
北京上门收画服务权威推荐榜单
215
关于renpy游戏小范围QQ群内部测试的一个思
20
Java关键字解析之abstract:抽象的本质、规
445
10GB vs 600MB:我们弃用 GitLab,选择了这
163
Python 潮流周刊#131:从零开始构建智能体
872
flask基础知识深入——会话管理:Flask Ses
106
推荐几款免费免登录无损高质量图片压缩工具
640
玩转 | q群智能聊天机器人 —— MaiBot(麦
992
offline meta-RL | 近期工作速读记录
662
C#AI系列(5): C#离线实现高效OCR
196
这才是vibe coding正确的打开方式 - 手把手
547
huggingface_hub 1.0 正式版现已发布:开源
5
读捍卫隐私05数字照片
832
嵌入式系统内存魔法之分散加载
746
嵌入式系统内存魔法之分散加载
131
【Java】ThreadLocal源码解析
33
观察者模式,发布/订阅模式,与回调函数
700
用 GPT-5.2 Vibe Coding,做了一个可以“玩
938
上海专业防水补漏服务:国家一级资质,免费
359
基于深度学习的无人机视角检测系统演示与介