[置顶] kubernetes资源类型--DaemonSet

概念

    DaemonSet能够让所有(或者特定)的节点运行同一个pod。

当节点加入到K8S集群中,pod会被(DaemonSet)调度到该节点上运行,当节点从K8S集群中被移除,被DaemonSet调度的pod会被移除,如果删除DaemonSet,所有跟这个DaemonSet相关的pods都会被删除。

在某种程度上,DaemonSet承担了RC的部分功能,它也能保证相关pods持续运行,如果一个DaemonSet的Pod被杀死、停止、或者崩溃,那么DaemonSet将会重新创建一个新的副本在这台计算节点上。

一般应用于日志收集、监控采集、分布式存储守护进程、ingress等

例子

cat<< EOF > lykops-daemonset.yaml
apiVersion:extensions/v1beta1
kind:DaemonSet
metadata:
  name: lykops-daemonset
  labels:
    software: apache
    project: lykops
    app: lykops-daemonset
    version: v1
spec:
  template:
    metadata:
      labels:
        name: lykops-daemonset
        software: apache
        project: lykops
        app: lykops-daemonset
        version: v1
    spec:
      containers:
      - name: hostname
        image:docker.io/kubernetes/serve_hostname:1.1
EOF

kubectlcreate -f lykops-daemonset.yaml

选择运行节点:当指定.spec.template.spec.nodeSelector,DaemonSet将会在匹配的节点上创建pod。如果都没有指定,DaemonSet在所有node节点上创建pod.

原文地址:https://www.cnblogs.com/lykops/p/7348003.html