DaemonSet的认识
介绍
DaemonSet 将 pod 部署到集群中的所有节点上(除非指定这些 pod 在部分节点上运行,这是通过 pod 模板中的 nodeSelector 属性指定的),DaemonSet 并没有期望副本数的概念,它确保一
个pod匹配它的选择器并在每个节点上运行。如果节点下线,DaemonSet不会在其他地方重新创建pod。 但是,当将一个新节点添加到集群中时, DaemonSet会立刻部署一个新的pod实例 。 如果有人无意中删除了一个pod,它会重新建一个新的pod。
创建DaemonSet
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: ssd-monitor
spec:
selector:
matchLabels:
app: ssd-monitor
template:
metadata:
labels:
app: ssd-monitor
spec:
nodeSelector:
disk: ssd
containers:
- name: main
image: luksa/ssd-monitor
kubectl create -f ssd-monitor-daemonset.yaml
从节点上删除所需的标签
kubectl label node kind-worker3 disk=hdd --overwrite
会让pod终止
kubectl delete ds ssd-monitor
删除DaemonSet也会删除这些被其管理的pod。