7 DaemonSet

理论基础

DaemonSet 确保每个节点上运行一个 Pod 的副本。 当有节点加入集群时, 也会为他们新增一个 Pod 。 当有节点从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。
DaemonSet 的一些典型用法:

  • 在每个节点上运行集群守护进程
  • 在每个节点上运行日志收集守护进程
  • 在每个节点上运行监控守护进程
    一种简单的用法是为每种类型的守护进程在所有的节点上都启动一个 DaemonSet。

创建DaemonSet

可以使用Deployment的yaml文件作为范例,更改kind 为DaemonSet,删除replicas 行

[root@clientvm ~]# cat DS.yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: nginx
  namespace: mytest
  labels:
    k8s-app: nginx-web
spec:
  selector:
    matchLabels:
      name: nginx
  template:
    metadata:
      labels:
        name: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        
[root@clientvm ~]# kubectl apply -f DS.yaml
daemonset.apps/nginx created

[root@clientvm ~]# kubectl get pod -n mytest -o wide
NAME          READY   STATUS    RESTARTS   AGE   IP            NODE                  NOMINATED NODE   READINESS GATES
nginx-4jspl   1/1     Running   0          50s   10.244.1.25   worker1.example.com   <none>           <none>
nginx-l965c   1/1     Running   0          50s   10.244.2.35   worker2.example.com   <none>           <none>

[root@clientvm ~]# kubectl get daemonsets.apps -n mytest
NAME    DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
nginx   2         2         2       2            2           <none>          103s

## 测试删除Pod
[root@clientvm ~]# kubectl delete pod -n mytest nginx-4jspl
pod "nginx-4jspl" deleted
[root@clientvm ~]# kubectl get pod -n mytest
NAME          READY   STATUS              RESTARTS   AGE
nginx-hgjtj   0/1     ContainerCreating   0          6s
nginx-l965c   1/1     Running             0          2m57s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值