当前位置: 首页 > article >正文

K8S中Pod控制器之DaemonSet(DS)控制器

DaemonSet(DS)控制器

  • DaemonSet类型的控制器可以保证在集群中的每一台(或指定)节点上都运行一个副本。一般适用于日志收集、节点监控等场景。也就是说,如果一个Pod提供的功能是节点级别的(每个节点都需要且只需要一个),那么这类Pod就适合使用DaemonSet类型的控制器创建。

image-20240513150220151

DaemonSet 控制器的主要特点包括:

  • 自动部署:在集群的所有节点上自动部署 Pod 的副本。

  • 动态适应:当向集群添加新节点时,DaemonSet 会自动在新节点上创建 Pod 的副本。

  • 自动清理:当节点从集群中移除时,其上的 Pod 也会被自动回收。

  • 节点选择性:允许通过标签选择器指定 Pod 应该运行在哪些节点上。

  • 更新管理:支持对所有 Pod 进行统一更新,并能在必要时回滚到之前的版本。

  • 容忍污点:可以配置 Pod 以容忍节点上的污点,从而在即将被标记为不可调度的节点上运行。

  • 服务发现:DaemonSet 管理的 Pod 可以通过 Kubernetes 服务发现机制被其他组件发现。

[root@k8s-master ~]# vim pc-daemonset.yaml
[root@k8s-master ~]# kubectl apply -f pc-daemonset.yaml 
Error from server (NotFound): error when creating "pc-daemonset.yaml": namespaces "test" not found
[root@k8s-master ~]# kubectl create ns test 
namespace/test created
[root@k8s-master ~]# kubectl apply -f pc-daemonset.yaml 
daemonset.apps/pc-daemonset created
[root@k8s-master ~]# kubectl get ds -n test -o wide
NAME           DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE   CONTAINERS   IMAGES         SELECTOR
pc-daemonset   2         2         0       2            0           <none>          12s   nginx        nginx:1.17.1   app=nginx-pod
[root@k8s-master ~]# kubectl get pod -n test -o wide
NAME                 READY   STATUS              RESTARTS   AGE   IP       NODE        NOMINATED NODE   READINESS GATES
pc-daemonset-9vwvd   0/1     ContainerCreating   0          23s   <none>   k8s-node2   <none>           <none>
pc-daemonset-drdt5   0/1     ContainerCreating   0          23s   <none>   k8s-node1   <none>           <none>

#一个node节点分配一个pod
[root@k8s-master ~]# kubectl get pod -n test -o wide -w 
NAME                 READY   STATUS              RESTARTS   AGE   IP       NODE        NOMINATED NODE   READINESS GATES
pc-daemonset-9vwvd   0/1     ContainerCreating   0          26s   <none>   k8s-node2   <none>           <none>
pc-daemonset-drdt5   0/1     ContainerCreating   0          26s   <none>   k8s-node1   <none>           <none>
pc-daemonset-drdt5   1/1     Running             0          39s   10.244.36.71   k8s-node1   <none>           <none>
pc-daemonset-9vwvd   1/1     Running             0          43s   10.244.169.129   k8s-node2   <none>           <none>
^C[root@k8s-master ~]# cat pc-daemonset.yaml 
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: pc-daemonset
  namespace: test
spec:
  selector:
    matchLabels:
      app: nginx-pod
  template:
    metadata:
      labels:
        app: nginx-pod
    spec:
      containers:
      - name: nginx
        image: nginx:1.17.1

 


http://www.kler.cn/a/512471.html

相关文章:

  • 数学基础 --线性代数之理解矩阵乘法
  • 为什么相关性不是因果关系?人工智能中的因果推理探秘
  • 每日一刷——1.20——准备蓝桥杯
  • Kotlin Bytedeco OpenCV 图像图像54 透视变换 图像矫正
  • 【Leetcode 每日一题 - 扩展】421. 数组中两个数的最大异或值
  • 2024人工智能AI+制造业应用落地研究报告汇总PDF洞察(附原数据表)
  • Windows 服务器访问慢解决办法
  • 如何使用Spring Boot框架整合Redis:超详细案例教程
  • 日志(elk stack)基础语法学习,零基础学习
  • 【每日一题】LeetCode - 最长公共前缀
  • WPF 使用webView显示浏览器网页
  • Edu邮箱免费获取Photoshop等设计软件
  • 第七篇:vue3 计算属性:computed
  • Golang Gin系列-3:Gin Framework的项目结构
  • 华宇TAS应用中间件与新支点多款软件及操作系统完成兼容互认证
  • BERT和Transformer模型有什么区别
  • knife4j 文档解析 application/x-www-form-urlencoded表单解析成post json
  • 大模型之三十三- 开源Melo 语音合成
  • 【2025】拥抱未来 砥砺前行
  • 【北京迅为】iTOP-4412全能版使用手册-第八十七章 安装Android Studio
  • 如何通过云计算优化网站性能?
  • Redis 7.0 I/O多线程模型:小红书高并发性能的幕后推手
  • 2024精编面试算法题类型之暴力枚举
  • 行人识别检测数据集,yolo格式,PASICAL VOC XML,COCO JSON,darknet等格式的标注都支持,准确识别率可达99.5%
  • RabbitMQ 高级特性
  • 3分钟看懂Android Studio下拉框组件