k8s控制器,daemonset

一、DaemonSet 是什么?

DaemonSet = 守护进程集 核心作用:保证集群里 每一个节点 都运行 一个 Pod

  • 不需要写 replicas(节点数 = Pod 数)
  • 新增节点 → 自动创建 Pod
  • 删除节点 → 自动删除 Pod
  • 每个节点 永远只跑一个

二、典型应用场景

  1. 节点监控node-exporter(Prometheus 采集监控)
  2. 日志收集fluentdfilebeat
  3. 网络 / 存储插件calicoceph
  4. 其他 agent:各种监控代理、安全客户端

三、完整标准 YAML

node1,node2上运行

复制代码
vim k8s-ds.yaml

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: ds
  namespace: default
  labels:
    app: ds
spec:
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.20.2
        resources:
          limits:
            memory: 200Mi
          requests:
            cpu: 100m
            memory: 200Mi
        volumeMounts:
        - name: localtime
          mountPath: /etc/localtime
      terminationGracePeriodSeconds: 30
      volumes:
      - name: localtime
        hostPath:
          path: /usr/share/zoneinfo/Asia/Shanghai

kubectl apply -f k8s-ds.yaml

master(容忍),node1,node2上运行

复制代码
vim k8s-ds-tole.yaml

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: ds
  namespace: default
  labels:
    app: ds
spec:
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      tolerations:
      - key: node-role.kubernetes.io/control-plane #节点的污点是这个 → 必须匹配!
        operator: Exists # 存在即可,不用写value
        effect: NoSchedule # 容忍"不调度"污点
      containers:
      - name: nginx
        image: nginx:1.20.2
        resources:
          limits:
            memory: 200Mi
          requests:
            cpu: 100m
            memory: 200Mi
        volumeMounts:
        - name: localtime
          mountPath: /etc/localtime
      terminationGracePeriodSeconds: 30
      volumes:
      - name: localtime
        hostPath:
          path: /usr/share/zoneinfo/Asia/Shanghai

kubectl apply -f k8s-ds-tole.yaml
相关推荐
Thneonl17 小时前
照着 CKS 教材做实验,把 apiserver 干瘫了 7 分钟
安全·kubernetes
AINative软件工程19 小时前
LLM 应用的 Graceful Shutdown 工程实践:正在进行的 AI 请求如何安全停止
云原生·ai编程
名字还没想好☜19 小时前
Kubernetes 用 kubectl port-forward 和 proxy 调试集群内服务:两者区别、断连自动重连与为什么别用在生产
运维·docker·kubernetes
武汉唯众智创1 天前
云计算实训室建设指南(2026版):从技能大赛赛项标准反推架构、课程与落地路径
云原生·kubernetes·云计算·云计算实训室·云计算教学平台·职业技能大赛
wdfk_prog1 天前
ROS教程:01 搭建 ROS1 Noetic Docker 开发环境
运维·缓存·docker·容器·ros
szephyr1 天前
Docker + Compose 实战:把本地项目一键搬到云服务器,附完整配置
运维·docker·容器·部署·云服务器
wdfk_prog1 天前
ros教程02:创建 catkin Workspace、Package 与第一个 ROS1 C++ Node
运维·缓存·docker·容器·ros
阿里云云原生1 天前
剧透丨AI 原生研发组织的探索和实践
云原生
名字还没想好☜1 天前
Docker 网络实战:bridge/host/none/自定义网络、容器互通与端口映射踩坑
运维·docker·kubernetes
探索云原生2 天前
KubeClipper 1.7.0 发布:Operation 优化与 Kubernetes 1.37 支持
linux·docker·云原生·kubernetes·go