什么是DaemonSet?
DaemonSet是部署在所有节点上用于在集群存储、日志收集、性能监控等场景。Pod的生命周期跟随节点,保证集群内的每一个(或者一些)节点都运行一组相同功能的Pod。在新的Kubernetes节点加入时,将会在节点上自动新增一个Pod,在节点移除后Pod也进行回收。
DaemonSet操作
DaemonSet使用Pod模板,此模板包含适用于其Pod的规范。Pod规范确定每个Pod的内容:应在其容器内运行的应用、应装载的卷、其标签和选择器等。
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: nginx
spec:
selector:
matchLabels:
name: nginx
template:
metadata:
labels:
name: nginx
spec:
containers:
- name: nginx
image: nginx:1.16
查看StatefulSet列表kubectl get daemonset
查看StatefulSet描述信息kubectl describe daemonset
DaemonSet更新策略
通过指定 spec: updateStrategy
中定义的更新策略来确定如何处理更新。
OnDelete: 当手动删除旧的Pod时,新的Pod才会被自动被创建。
RollingUpdate: 默认的更新策略。旧的Pod自动被删除,新的Pod也自动创建。