【赵渝强老师】K8s的DaemonSets控制器

在这里插入图片描述

  DaemonSet控制器相当于在节点上启动了一个守护进程。通过使用DaemonSet可以确保一个Pod的副本运行在 Node节点上。如果有新的Node节点加入集群,DaemonSet也会自动给新加入的节点增加一个Pod的副本;反之,当有Node节点从集群中移除时,DaemonSet也可以保证将这些Pod自动回收。当删除 DaemonSet将会删除它创建的所有Pod。下面列举了DaemonSet控制器的一些典型的应用场景:

  • 使用DaemonSet控制器在节点上运行监控程序。
  • 使用DaemonSet控制器在节点上运行日志收集程序,如:fluentd和logstash。
  • 使用DaemonSet控制器运行Kubernetes的存储守护进程。

  Kubernetes允许在节点上针对不同的类型的守护进程单独启动一个DaemonSet;也允许针对不同的硬件指标,如CPU和内存,部署多个DaemonSet。

  视频讲解如下:

K8s的DaemonSets控制器

【赵渝强老师】K8s中的DaemonSet控制器

一、DaemonSet控制器的作用与创建

  下面将通过一个示例来演示如何DaemonSet的使用。
(1)创建daemonset-demo.yaml文件,并输入下面的内容:

apiVersion: apps/v1
kind: DaemonSet
metadata:
    name: daemonset-demo
    namespace: default
spec:
    minReadySeconds: 5
    selector:
        matchLabels:
            app: daemonset
    template:
        metadata:
            name: daemonset-demo
            namespace: default
            labels:
                app: daemonset
        spec:
            containers:
                - name: daemonset-demo   
                  image: nginx
                  imagePullPolicy: IfNotPresent
                  ports:
                    - name: httpd
                      containerPort: 80

(2)执行命令创建DaemonSet。

kubectl apply -f daemonset-demo.yaml

(3)查看DaemonSet的信息

kubectl get daemonset

#提示:该命令可以简写成下面的形式:
kubectl get ds

# 输出的信息如下图所示。从图中可以看出,
# 由于Kubernetes集群中有两个Node节点,
# 因此DaemonSet将会在每个Node节点启动一个Pod。

在这里插入图片描述

(4)查看Pod的信息。

kubectl get pods -o wide

# 输出的信息如下图所示。

在这里插入图片描述

(5)删除daemonset

kubectl delete daemonset daemonset-demo

二、DaemonSets控制器的调度

  Kubernetes的调度器scheduler能够确保所有符合条件的Node节点都可以运行一个DaemonSets控制器管理的Pod。这也是Daemonsets控制器中Pod中默认的调度方式。但Kubernetes也允许使用DaemonSets控制器自己的调度器来创建和调度Pod。但由DaemonSets控制器来进行Pod的调度,可能会造成各个Node节点上Pod行为的不一致性。因为在正常情况下,当Pod被创建后,应该处于Pending状态等待被调度;但由DaemonSets控制器创建的Pod不会处于Pending状态下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/882659.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

EdgeRoute_镜像烧录

1. EdgeRouter 概述 EdgeRouter Lite 是由 Ubiquiti Networks 公司生产的一款高性能网络路由器,适用于家庭和小型办公环境。它的尺寸为200 x 90 x 30 mm,重量为345克,配备了双核500 MHz的MIPS64处理器,并带有硬件加速功能&#x…

MySQL_数据类型简介

课 程 推 荐我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈虚 拟 环 境 搭 建 :&#x1…

Vue使用Vue Router路由:开发单页应用

1、路由基础 在单页 Web 应用中,整个项目只有一个 HTML 文件,不同视图(组件的模块)的内容都是在同一个页面中渲染的。当用户切换页面时,页面之前的跳转都是在浏览器端完成的,这时就需要使用前端路由。 路…

APP自动化中 ADB Monkey用法

一、monkey是干什么的? 我们可以使用monkey做手机端性能的压力测试,稳定性测试 二、monkey在使用的时候,他的运行特性 monkey默认配置下执行,会在手机中随机的点击或者轻触我们的手机中应用,不过这个时候&#xff0…

Cortex-M7核心寄存器

参考内容:Cortex-M7编程手册 文章目录 软件执行的处理器模式和权限级别处理器模式软件执行的权限级别 栈Stacks核心寄存器Core registers通用寄存器General-purpose registers链接寄存器Link register程序计数器 Program counter程序状态寄存器Program status regis…

PMP--二模--解题--91-100

文章目录 14.敏捷91、 [单选] 在敏捷团队完成三次迭代之后,项目经理确定团队在这三次迭代中的平均速度是30个故事点。还有292个故事点来完成项目的剩余部分。团队需要多少次额外的迭代才能完成项目? 9.资源管理92、 [单选] 项目经理前往另一个国家执行最…

python yield用法

1 yield关键字 yield在函数中的功能类似于return,不同的是yield每次返回结果之后函数并没有退出,而是 每次遇到yield关键字后返回相应结果,并保留函数当前的运行状态,等待下一次的调用。如果 一个函数需要多次循环执行一个动作&am…

【自动驾驶】控制算法(九)深度解析车辆纵向控制 | 从算法基础到 Carsim 仿真实践

写在前面: 🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝 个人主页:清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。 🔍 本文系 清流君 原创之作&…

『功能项目』QFrameWorkBug关联Slot(插槽)【67】

我们打开上一篇66QFrameWorkBug拖拽功能的项目, 本章要做的事情是关联插槽Slot 修改脚本:UISlot.cs 修改脚本:UGUICanvas.cs 此时关联Slot已经完成 接下来的文章内容: 1.QFrameWork扔到地上UGUI 2.位置存储功能 3.点击名称寻…

Python可迭代对象(2)

目录 3。字典 字典的构造 字典的添加和修改 字典推导式的使用 以上全部代码编译结果展示 字典复习 4。集合(set) 集合的创建 集合的运算 集合的添加和删除元素 以上全部代码的编译结果 序列解包(Sequence unpacking) 3。字典 字典的构造 #字…

【Linux】nginx连接前端项目

文章目录 一、项目编译1.编译文件2.dist文件 二、Linux nginx配置三、启动nginx 一、项目编译 1.编译文件 2.dist文件 二、Linux nginx配置 在Xshell软件中,点击CtrlAltF进入文件传输找到地址:/usr/local/nginx/html将dist文件传入 找到nginx.conf&…

R包:VennDiagram韦恩图

加载R包 library(VennDiagram)数据 # Prepare character vectors v1 <- c("DKK1", "NPC1", "NAPG", "ERG", "VHL", "BTD", "MALL", "HAUS1") v2 <- c("SMAD4", "DKK1…

【计算机网络 - 基础问题】每日 3 题(十九)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…

【Python】curl命令、Api POST导入cURL、python直接使用cURL

文章目录 一、浏览器复制cURL二、API POST直接使用cURL创建接口三、python直接使用cURL构建网络请求四、curl命令详解语法选项实例 cURL是一种命令行工具&#xff0c;常用于通过各种协议&#xff08;如HTTP、HTTPS、FTP等&#xff09;传输数据。它的名字来源于"Client URL…

Python爬虫之requests模块(一)

Python爬虫之requests模块&#xff08;一&#xff09; 学完urllib之后对爬虫应该有一定的了解了&#xff0c;随后就来学习鼎鼎有名的requests模块吧。 一、requests简介。 1、什么是request模块&#xff1f; requests其实就是py原生的一个基于网络请求的模块&#xff0c;模拟…

「漏洞复现」灵当CRM marketing/index.php SQL注入漏洞

0x01 免责声明 请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;作者不为此承担任何责任。工具来自网络&#xff0c;安全性自测&#xff0c;如有侵权请联系删…

python爬虫初体验(一)

文章目录 1. 什么是爬虫&#xff1f;2. 为什么选择 Python&#xff1f;3. 爬虫小案例3.1 安装python3.2 安装依赖3.3 requests请求设置3.4 完整代码 4. 总结 1. 什么是爬虫&#xff1f; 爬虫&#xff08;Web Scraping&#xff09;是一种从网站自动提取数据的技术。简单来说&am…

c++调用python函数进行传参计算和返回

目录 前言&#xff1a;配置环境&#xff1a;基础夯实&#xff1a;1. 初始化Python解释器2. 导入Python模块3. 获取函数对象4. 调用Python函数5. 处理返回值6. 错误处理7. 资源管理8. 编译和链接9. 线程安全性10. 进一步学习 效果展示&#xff1a;实现功能&#xff1a;操作步骤&…

CentOS上使用Mosquitto实现Mqtt主题消息发布和订阅mqtt主题消息连同时间戳记录到文件

场景 CentOS上使用rpm离线安装Mosquitto(Linux上Mqtt协议调试工具)附资源下载&#xff1a; CentOS上使用rpm离线安装Mosquitto(Linux上Mqtt协议调试工具)附资源下载-CSDN博客 上面介绍了mosquitto的离线安装。 如果业务场景中需要订阅某mqtt主题的消息并将收到消息的时间以…

Android轻量级RTSP服务使用场景分析和设计探讨

技术背景 好多开发者&#xff0c;对我们Android平台轻量级RTSP服务模块有些陌生&#xff0c;不知道这个模块具体适用于怎样的场景&#xff0c;有什么优缺点&#xff0c;实际上&#xff0c;我们的Android平台轻量级RTSP服务模块更适用于内网环境下、对并发要求不高的场景&#…