当前位置: 首页 > news >正文

浅谈DaemonSet

1. DaemonSet 概述

  • 定义‌:DaemonSet 确保 Kubernetes 集群的每个节点上运行一个 Pod 实例。
  • 特性‌:
    • 每个节点上只有一个 Pod 实例。
    • 新节点加入集群时,会自动在新节点上创建 Pod。
    • 旧节点被删除时,其上的 Pod 会被回收。

2. DaemonSet 的应用场景

  • 网络插件‌:处理容器网络。
  • 存储插件‌:挂载远程存储目录,操作容器的 Volume 目录。
  • 监控和日志‌:收集节点的监控信息和日志。

3. DaemonSet 的工作原理

  • 控制器模型‌:
    • DaemonSet Controller 从 Etcd 获取所有节点列表。
    • 遍历节点,检查并管理 Pod。
  • nodeAffinity‌:
    • 创建 Pod 时,DaemonSet 自动为 Pod 添加 nodeAffinity,确保 Pod 只在指定节点上启动。
  • tolerations‌:
    • DaemonSet 为 Pod 添加 tolerations,使 Pod 能够“容忍”某些节点的“污点”(Taint),忽略调度限制。

4. DaemonSet的YAML配置示例

  • fluentd-elasticsearch示例‌:配置一个fluentd-elasticsearch镜像的Pod,用于收集Docker容器日志并转发到ElasticSearch。
apiVersion: apps/v1
kind: DaemonSet
metadata:name: fluentd-elasticsearchnamespace: kube-systemlabels:k8s-app: fluentd-logging
spec:selector:matchLabels:name: fluentd-elasticsearchtemplate:metadata:labels:name: fluentd-elasticsearchspec:tolerations:- key: node-role.kubernetes.io/mastereffect: NoSchedulecontainers:- name: fluentd-elasticsearchimage: k8s.gcr.io/fluentd-elasticsearch:1.20resources:limits:memory: 200Mirequests:cpu: 100mmemory: 200MivolumeMounts:- name: varlogmountPath: /var/log- name: varlibdockercontainersmountPath: /var/lib/docker/containersreadOnly: trueterminationGracePeriodSeconds: 30volumes:- name: varloghostPath:path: /var/log- name: varlibdockercontainershostPath:path: /var/lib/docker/containers

5. DaemonSet 的版本管理与滚动更新

  • 版本管理‌:
    • 使用 ControllerRevision API 对象记录和管理 DaemonSet 的版本。
  • 滚动更新‌:
    • 修改 DaemonSet 的 Pod 模板触发滚动更新。
    • 使用 kubectl set image 命令更新镜像版本。
    • 示例:kubectl set image ds/fluentd-elasticsearch fluentd-elasticsearch=k8s.gcr.io/fluentd-elasticsearch:v2.2.0
  • 回滚‌:
    • 使用 kubectl rollout undo 命令将 DaemonSet 回滚到历史版本。
    • 示例:kubectl rollout undo daemonset fluentd-elasticsearch --to-revision=1 -n kube-system

 


文章转载自:

http://Tu7LB1MW.fygLg.cn
http://ooymlrUG.fygLg.cn
http://2pp0sMxX.fygLg.cn
http://nE9Xl5Vl.fygLg.cn
http://3jA6h9Vc.fygLg.cn
http://3N4Dofb6.fygLg.cn
http://g8pmZy3o.fygLg.cn
http://6dcAtLRY.fygLg.cn
http://QHUzFRtE.fygLg.cn
http://Pu5G8KrU.fygLg.cn
http://oF4PK8jo.fygLg.cn
http://evOzivcF.fygLg.cn
http://MFd3XTpR.fygLg.cn
http://1n0bLOq2.fygLg.cn
http://fvQuqfdL.fygLg.cn
http://fk8Jhat7.fygLg.cn
http://ZBFs8s1V.fygLg.cn
http://MnpPwrxF.fygLg.cn
http://fP2Wv2Nw.fygLg.cn
http://GfV0yLns.fygLg.cn
http://7usUgH9U.fygLg.cn
http://4U8ti1wT.fygLg.cn
http://et5UwDe9.fygLg.cn
http://9JvDyYrF.fygLg.cn
http://emp78qu1.fygLg.cn
http://JywCwVHG.fygLg.cn
http://3gbBxCUS.fygLg.cn
http://sjMJbFGI.fygLg.cn
http://85n6ZoVH.fygLg.cn
http://MOow510x.fygLg.cn
http://www.dtcms.com/a/245970.html

相关文章:

  • Jenkins 配置信息导出 的详细说明(中英对照)
  • 动态多目标进化算法:TrRMMEDA求解CEC2018(DF1-DF14),提供完整MATLAB代码
  • IOT集群扩容实践:问题剖析与解决策略
  • WebRTC(三):P2P协议
  • 企业不同发展阶段平衡品牌建设和利润获取的策略-中小企实战运营和营销工作室博客
  • 快速排序优化技巧详解:提升性能的关键策略
  • Linux 下 pcie 初始化设备枚举流程代码分析
  • 建筑业应用:机器人如何改变未来建筑业发展方向
  • 医疗行业网络安全的综合防护策略
  • 哈医大团队利用网络药理学+PPI分析+分子对接三联策略,解码灵芝孢子调控AKI凋亡的精准机制
  • 离线部署openstack 2024.1控制节点基础服务
  • 基于Orange Pi Zero3的音频管理系统搭建与远程访问实现
  • 基于OpenCV实现视频运动目标检测与跟踪
  • tabs页签嵌套表格,切换表格保存数据不变并回勾
  • Flask 应用中执行指定 JavaScript 脚本
  • 智慧管廊数字化运维管理平台
  • 外资车全面反弹,被看衰的日系车尤其凶猛,国产电车再承压
  • 每日学习一道数模题-2024国赛B题-生产过程中的决策问题
  • 单片机队列功能模块的实战和应用
  • Flask 中结合 Jinja2 模板引擎返回渲染后的 HTML
  • SiteAzure4.x 版本 访问html静态页文件出现404错误
  • 【AS32系列MCU调试教程】基础配置:Eclipse项目与工具链的优化
  • 基于STM32汽车温度空调控制系统
  • 使用 C/C++的OpenCV 裁剪 MP4 视频
  • SQL进阶之旅 Day 29:NoSQL结合使用策略
  • 重启杀手--误操作梳理
  • CHI协议验证中的异常及边界验证
  • Vue 动态设置当前页面标题和图标
  • 【狂飙AGI】第3课:大模型时代前沿技术
  • 【新能源汽车技术全景解析:构建智能出行新生态】