侧边栏壁纸
博主头像
小周的知识站 博主等级

行动起来,活在当下

  • 累计撰写 80 篇文章
  • 累计创建 12 个标签
  • 累计收到 8 条评论

目 录CONTENT

文章目录
K8S

Pod 控制器DaemonSet

Administrator
2024-07-16 / 0 评论 / 0 点赞 / 11 阅读 / 0 字

Pod 控制器 DaemonSet

1 DaemonSet介绍

DaemonSet(DS)控制器在功能方面与Deployment控制器几乎一样,支持滚动更新、版本回退等,只不过它在创建Pod时,可以保障集群中的每一个节点上都运行(Pod数量与节点数量保持一致)。

如果一个Pod提供的功能是节点级别的(每个节点都需要且只需要一个),一般适用于日志收集,节点监控场景,这种类型的pod就适合使用DaemonSet类型的控制器创建。

2 DaemonSet特性

DaemonSet控制器的特点:

  • 每当像集群添加一个节点时,指定的pod副本也将添加到该节点上

  • 当节点从集群中移除时,pod也就被垃圾回收

3 DaemonSet 应用特例

案例:通过daemonset控制器创建Nginx Pod,并保证在每个节点都运行。

# vim ds_nginx.yml
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: ds-nginx
  namespace: test

spec:
  selector:
    matchLabels:
      name: ds-nginx

  template:
    metadata:
      labels:
        name: ds-nginx

    spec:
      tolerations:                           # 添加容忍,否则pod无法被调度到master节点
      - key: node-role.kubernetes.io/master  # 污点key
        effect: NoSchedule                   # 污点类型
      containers:
      - name: nginx
        image: nginx:1.17.0
        ports:
        - containerPort: 80


          
创建pod
# kubectl create -f ds_nginx.yml



查看ds信息
# kubectl get ds -n test



查看pod详细信息
# kubectl get pod -n test -o wide



删除ds
# kubectl delete -f ds_nginx.yml

0
K8S
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区