一、概述 

      daemonset资源:简称ds资源;

        他可以实现与pod反亲和性同样的目的,每个节点分别创建一个相同的pod;

        换句话说:如何再集群中每个节点上,分别创建一个相同的pod?

        1,利用pod的反亲和性

        2,使用daemonset资源创建pod;

daemonset资源能够确保所有节点上运行一个相同的pod;

典型的用法:

        1,在每个节点上运行集群的守护进程(例如:flannel)

        2,在每个节点上运行日志收集的守护进程(例如:filebeat)

        3,在每个节点上运行监控的守护进程(例如:zabbix、prometheus)

温馨提示:

1,当有新的节点加入集群,也会在新的节点上创建pod;

2,当有节点被集群移除,这些pod也会被收回;

3,伤处daemonset资源,也会删除它所创建的pod;

4,如果节点被打了污点,且daemonset没有定义五点容忍,则pod并不会被调度到该节点上;

二、ds资源清单的创建

1,编辑资源清单

[root@k8s231 daemonset]# cat daemonset.yaml 
apiVersion: apps/v1
kind: DaemonSet
metadata: 
  name: ds-01
spec:
  selector:
    matchLabels:
      k8s: xinjizhiwa
  template:
    metadata:
      labels:
        k8s: xinjizhiwa
    spec:
      tolerations:
      - key: node-role.kubernetes.io/master
        effect: NoSchedule
      containers:
      - name: c1
        image: nginx:1.20.1-alpine

2,创建ds资源

[root@k8s231 daemonset]# kubectl apply -f daemonset.yaml

3,查看验证,是否每个节点都创建了pod

验证成功,daemonset控制器资源,学习完毕;

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐