登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
签到
每天签到奖励2-10圆
导读
排行榜
TG频道
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
VIP申请
VIP网盘
网盘
联系我们
发帖说明
每日签到
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
科技
›
k8s~控制deamonset中pod的数量
k8s~控制deamonset中pod的数量
[ 复制链接 ]
丘奕奕
2025-6-9 15:19:31
在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 资源访问控制策略
Kubernetes Pod控制器
flink on k8s的基本介绍
流程控制 for switch range break goto
k8s之基础概念
博客园出海记-K8S集群优化:一次命中注定的失败
K8s中的RBAC认证授权之基于HTTPS证书给User授权认证
k8s之pod概念
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
K8s Pod 资源访问控制策略
0
683
拓炊羡
2025-10-01
安全
Kubernetes Pod控制器
0
758
坡琨
2025-10-01
安全
flink on k8s的基本介绍
0
444
钦遭聘
2025-10-01
业界
流程控制 for switch range break goto
1
433
姚望舒
2025-10-01
业界
k8s之基础概念
0
585
卢铃语
2025-10-05
业界
博客园出海记-K8S集群优化:一次命中注定的失败
0
83
鞍汉
2025-10-06
业界
K8s中的RBAC认证授权之基于HTTPS证书给User授权认证
0
176
驼娑
2025-10-07
业界
k8s之pod概念
1
276
蒋炸役
2025-10-08
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
代码
签约作者
程序园优秀签约作者
发帖
丘奕奕
2025-6-9 15:19:31
关注
0
粉丝关注
14
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994888
dage888
999994
3934307807
993678
4
富账慕
10004
5
刎唇
9993
6
柴古香
9989
7
烯八
9972
8
匝抽
9986
9
筒濂
9977
10
孙淼淼
9983
查看更多