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

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.kler.cn/a/582813.html

相关文章:

  • C# Enumerable类 之 集合操作
  • 【设计模式】遍历集合的艺术:深入探索迭代器模式的无限可能
  • hive 中优化性能的一些方法
  • 云原生可观测性体系:数字世界的神经感知网络
  • Spring Boot中利用Redis解决接口幂等性问题
  • html css 笔记
  • 访问权限控制、访问PHP站点
  • 13 | 实现统一的错误返回
  • Spring Boot 中实现全局 Token 验证的两种方式
  • Rule-Engine 使用介绍
  • upload-labs-master通关攻略(5~8)
  • DeepIn Wps 字体缺失问题
  • 【JavaWeb】快速入门——HTMLCSS
  • 在 Windows 11 下运行 OminiParse V2,详细教程【含问题解决细节】
  • pdf合并工具
  • [多线程]基于单例懒汉模式的线程池的实现
  • Redis 2025/3/9
  • nextJs在DOM视图中渲染未转为状态值的localStorage导致报错
  • mac 被禁用docker ui后,如何使用lima虚拟机启动docker
  • 【实战ES】实战 Elasticsearch:快速上手与深度实践-8.1.2近似最近邻(ANN)算法选型