k8s - DaemonSet

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              
daemonset-example-w52jw           1/1     Running   0          16s   10.244.2.65   k8s-node01              

你可能感兴趣的:(K8S)