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   <none>           <none>
daemonset-example-w52jw           1/1     Running   0          16s   10.244.2.65   k8s-node01   <none>           <none>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章