前言

作用
  • 保证集群内每一个(或者一些)节点都运行一组相同的Pod
  • 跟踪集群节点状态,保证新加入的节点自动创建对应的Pod
  • 跟踪集群节点状态,保证移除的节点删除对应的Pod
  • 跟踪Pod状态,保证每个节点Pod处于运行状态
适用场景
  • 集群存储进程: glusterd、ceph
  • 日志手机进程: fluentd、logstash
  • 需要在每个节点运行的监控收集器
语法示例
]# cat > DaemonSet.yaml <<-EOF
piVersion: apps/v1
kind: DaemonSet
metadata:
  name: fluentd-elasticsearch
  namespace: kube-system
  labels:
    k8s-app: fluentd-logging
spec:
  selector:
    matchLabels:
      name: fluentd-elasticsearch
  template:
    metadata:
      labels:
        name: fluentd-elasticsearch
    spec:
      containers:
      - name: fluentd-elasticsearch
        image: fluent/fluentd:v1.4-1
EOF        
查看DaemonSet状态
]# kubectl get ds -n kube-system
NAME                    DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                                               AGE
fluentd-elasticsearch   3         3         3       3            3           <none> 

]# kubectl get pod -n kube-system
fluentd-elasticsearch-2dfjx                        1/1     Running   0          2m3s
fluentd-elasticsearch-7qxv6                        1/1     Running   0          2m3s
fluentd-elasticsearch-jkjx8                        1/1     Running   0          2m3s

DESIRED: 需要的pod个数
CURRENT: 当前已存在的pod个数
READY: 就绪的个数
UP-TO-DATE: 最新创建的个数
AVAILABLE: 可用pod个数
SELECTOR: 节点选择标签

  • 更新DaemonSet
    kubectl set image ds/fluentd-elasticsearch fluentd-elasticsearch=fluent/fluentd:v1.4
管理模式

在这里插入图片描述

控制器

在这里插入图片描述

结语

… …

Logo

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

更多推荐