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

K8S学习之基础二十七:k8s中daemonset控制器

k8s中DaemonSet控制器

​ DaemonSet控制器确保k8s集群中,所有节点都运行一个相同的pod,当node节点增加时,新节点也会自动创建一个pod,当node节点从集群移除,对应的pod也会自动删除。删除DaemonSet也会删除创建的pod。

​ DaemonSet控制器会监听k8s的ds对象、pod对象、node对象,这些被监听的对象变动,就会出发syncLoop循环让k8s集群朝着ds对象魔术的状态进行演进。

应用场景:

​ 在集群每个节点运行存储,如glusterd或ceph

​ 在每个节点运行日志收集组件:如flunentd、logstash、filebeat

​ 在每个节点运行监控组件,如Prometheus、NodeExporter、collectd

​ 以fluntend测试

​ 上传镜像fluentd到harbor

vi daemonset-flunted.yaml 
kind: DaemonSet
metadata:
  name: fluentd-elasticsearch
  namespace: kube-system            # 定义命名空间
  labels:
    k8s-app: fluentd-logging        # 定义标签
spec:
  selector:
    matchLabels:
      name: fluentd-elasticsearch   # 匹配标签,与pod一致
  template:
    metadata:
      labels:
        name: fluentd-elasticsearch  # pod标签
    spec:
      tolerations:                # 定义容忍度,因为要在master上部署
      - key: node-role.kubernetes.io/control-plane
        operator: Exists
        effect: NoSchedule        # 容忍度调度
      containers:
      - name: fluentd-elasticsearch
        image: 172.16.80.140/fluented/fluented:v2.5.1   # harbor镜像地址
        resources:           # 资源配额
          limits:
            memory: 200Mi
          requests:
            cpu: 100m
            memory: 200Mi
        volumeMounts:                              # 挂载卷
        - name: varlog
          mountPath: /var/log                     # 监控/var/log
        - name: varlibdockercontainers
          mountPath: /var/lib/docker/containers   # 监控容器日志
          readOnly: true
      terminationGracePeriodSeconds: 30
      volumes:
      - name: varlog
        hostPath:
          path: /var/log
      - name: varlibdockercontainers
        hostPath:
          path: /var/lib/docker/containers                                                    

image-20250312170015706

手工删除一个pod,ds就会自动创建一个新的pod

image-20250312170232411

http://www.dtcms.com/a/63993.html

相关文章:

  • @RestControllerAdvice注解
  • Adaptive AUTOSAR UCM模块——快速入门
  • 安卓Compose中accompanist库使用详解
  • 【蓝桥杯python研究生组备赛】003 贪心
  • Python Reverse Engineering的中文意思是什么?概念分析、工具与技术、实施步骤、扩展阅读?
  • 部署达梦数据库到服务器
  • MySQL:SQL优化实际案例解析(持续更新)
  • JDK8和JDK17 Thread.interrupt() 实现区别
  • 软件综合实践微人事管理信息系统+燃气站信息管理系统+mapbox地图(实际上使用的高德地图开发)
  • 深度学习GRU模型原理
  • 【Academy】服务器端模板注入 ------ Server-side template injection
  • k8s面经
  • Elasticsearch-07-Elasticsearch Java API Client-Elasticsearch 8.0 的高阶api
  • Jmeter 测试一个网站的并发量
  • PHP 在 if 判断时由于运算符优先级导致 false 的问题
  • 【具身相关】legged_gym, isaacgym、rsl_rl关系梳理
  • Qt表格美化笔记
  • 华为OD机试-求字符串中所有整数的最小和-逻辑分析(Java 2023 B卷 100分)
  • AGI大模型(2):GPT:Generative Pre-trained Transformer
  • 【Godot4.3】RenderingServer总结
  • 安装 MongoDB 的步骤(Windows / macOS / Linux)
  • 联合中存储平方差
  • FPGA 实现 OV5640 摄像头视频图像显示
  • 【spring】springAOP
  • navicat16 升级到 navicat17 之后原来的连接找不到了 mac用户
  • 侯捷 C++ 课程学习笔记:进阶语法之lambda表达式(二)
  • 利用8个参数定义一个汽轮机,然后根据这8个参数生成汽轮机性能试验时的测点清单-pycharm-源代码(适用所有类型汽轮机)
  • 【搜索页】- 功能流程
  • OpenHarmony-SELinux配置
  • 【git】 Could not read from remote repository.