论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
容器及微服务
›
容器及微服务
›
k8s~控制deamonset中pod的数量
k8s~控制deamonset中pod的数量
刘俊凯
论坛元老
|
2025-1-15 05:34:12
|
显示全部楼层
|
阅读模式
楼主
主题
1812
|
帖子
1812
|
积分
5440
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
DaemonSet 是 Kubernetes 中的一种控制器,用于确保集群中的每个节点(或特定标签选择器匹配的节点)运行一个 Pod 的副本。DaemonSet 通常用于运行集群守护进程,如日志网络、监控代理、存储卷插件等。以下是如何控制 DaemonSet 中 Pod 数量的方法:
使用节点选择器(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。
通过以上方法,你可以灵活地控制 DaemonSet 中 Pod 的数量和调理策略。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
刘俊凯
论坛元老
这个人很懒什么都没写!
楼主热帖
牛客SQL刷题第三趴——SQL大厂面试真题 ...
IDEA中集成Git操作以及关于Git中分支说 ...
MySQL ——select语句 一条龙服务 ...
SAP MM 使用两个STO实现免关税跨国公 ...
github上fork2.4k,star8.7k的这款状态 ...
Bug驱动开发探讨
袋鼠云春季生长大会最新议程来啦!4月2 ...
哈工大信息安全概论期末复习 ...
万字解析XML配置映射为BeanDefinition ...
事务
标签云
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
虚拟化与私有云
DevOps与敏捷开发
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表