目录
一、概述
daemonset资源:简称ds资源;
他可以实现与pod反亲和性同样的目的,每个节点分别创建一个相同的pod;
换句话说:如何再集群中每个节点上,分别创建一个相同的pod?
- 利用pod的反亲和性;
- 使用daemonset资源创建pod;
daemonset资源能够确保所有节点上运行一个相同的pod;
使用场景
- 在每个节点上运行集群的守护进程(例如:flannel)
- 在每个节点上运行日志收集的守护进程(例如:filebeat)
- 在每个节点上运行监控的守护进程(例如:prometheus的采集器)
温馨提示
当有新的节点加入集群,也会在新的节点上创建pod;
当有节点被集群移除,这些pod也会被收回;
删除daemonset资源,也会删除它所创建的pod;
如果节点被打了污点,且daemonset没有定义污点容忍,则pod并不会被调度到该节点上;
二、ds资源清单的创建
# 编辑资源清单
[root@k8s1 daemonset]# cat daemonset.yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: ds-01
spec:
selector:
matchLabels:
k8s: oslee
template:
metadata:
labels:
k8s: oslee
spec:
# 污点容忍,一般master节点有这个污点
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
containers:
- name: c1
image: nginx:1.20.1-alpine
[root@k8s1 daemonset]# kubectl apply -f daemonset.yaml
===============================至此,已成艺术==============================