[K8S] DaemonSet

DaemonSet 确保全部/部分节点上运行一个 Pod 的副本
当有节点加入集群时,会为他们新增一个 Pod 
当有节点从集群移除时,这些 Pod也会被回收
删除 DaemonSet将会删除它创建的所有 Pod

应用场景:
在每个节点上运行网络插件
在每个节点上运行集群守护进程
在每个节点上运行监控守护进程
在每个节点上运行日志收集守护进程

DaemonSet 的yaml文件和 Deployment类似, 需要修改类型, 去掉副本数, 如果希望在所有节点运行, 还需要添加污点容忍

test-daemonset.yaml内容如下

apiVersion: apps/v1
kind: DaemonSet
metadata:
  labels:
    app: web
  name: web
  namespace: default
spec:
  selector:
    matchLabels:
      app: web
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
      - image: nginx
        name: nginx
      tolerations:
        - operator: Exists

创建后可以查看到每个节点都新起了一个pod

[root@k8s-master ~]# kubectl get pod -o wide
NAME        READY   STATUS    RESTARTS   AGE     IP               NODE         NOMINATED NODE   READINESS GATES
web-7d6xf   1/1     Running   0          5m11s   10.244.36.88     k8s-node1    <none>           <none>
web-dkqvl   1/1     Running   0          5m11s   10.244.169.148   k8s-node2    <none>           <none>
web-fpblt   1/1     Running   0          5m11s   10.244.235.227   k8s-master   <none>           <none>
[root@k8s-master ~]#

猜你喜欢

转载自blog.csdn.net/wy_hhxx/article/details/119853663