DaemonSet确保全部(或者一些)Node上运行一个Pod的副本。
当有Node加入集群时,也会为他们新增一个Pod。
当有Node从集群移除时,这些Pod也会被回收。
删除DaemonSet将会删除它创建的所有Pod

使用DaemonSet的一些典型用法:

  1. 运行集群daemon,例如在每一个Node上运行glusterd/ceph
  2. 在每一个Node上运行日志收集daemon,例如fluentd/logstash
  3. 在每一个Node上运行监控daemon,例如Prometheus Node Exporter 等
[root@k8s-master01 k8s-test]# cat daemonset.yaml 
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: daemonset-example
  labels:
    app: daemonset
spec:
  selector:
    matchLabels:
      name: daemonset-example
  template:
    metadata:
      labels:
        name: daemonset-example
    spec:
      containers:
      - name: daemonset-example
        image: kone.com/library/nginx

kubectl create -f daemonset.yaml

[root@k8s-master01 k8s-test]# kubectl get pod -owide
NAME                              READY   STATUS    RESTARTS   AGE   IP            NODE         NOMINATED NODE   READINESS GATES
daemonset-example-dvhs8           1/1     Running   0          16s   10.244.3.27   k8s-node02   <none>           <none>
daemonset-example-w52jw           1/1     Running   0          16s   10.244.2.65   k8s-node01   <none>           <none>
Logo

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

更多推荐