【K8s】专题四(5):Kubernetes 控制器之 DaemonSet

news2025/1/20 22:41:47

以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!

公众号二维码


目录

一、基本介绍

二、工作原理

三、相关特性

四、资源清单(示例)

五、常用操作


一、基本介绍

DaemonSet 控制器是 Kubernetes 的一个 API 对象,它负责在 Kubernetes 集群中运行和管理一个 Pod 的副本,并确保所有节点或选定节点上都运行着一个 Pod 实例。

DaemonSet 通常用于部署守护进程或系统服务,例如日志收集器、监控代理或存储守护进程。


二、工作原理
  • 定义对象:用户定义一个 DaemonSet 对象,指定 Pod 模板和其他配置选项,Pod 模板定义了 Pod 的规格,包括容器、存储和网络配置
  • 调度 Pod:当 DaemonSet 控制器接收到创建请求时,它会在每个匹配的节点上创建一个 Pod 实例
  • 监控 Pod:DaemonSet 控制器监视 Pod 的状态,并确保每个节点上都有 Pod 实例。如果节点失败或重启,DaemonSet 控制器会自动在该节点上重新创建 Pod 实例
  • 更新 Pod:如果用户更新了 Pod 模板,DaemonSet 控制器将负责在所有节点上滚动更新 Pod 实例,以应用新的配置
  • 节点选择:DaemonSet 允许用户通过节点标签选择器来指定应在哪些节点上运行 Pod。如果没有指定选择器,Pod 将在所有节点上运行


三、相关特性
  • 节点覆盖:DaemonSet 确保在集群中的所有节点或选定节点上运行一个 Pod 实例,或者在满足特定条件的节点上运行
  • 自动恢复:如果节点失败或重启,DaemonSet 会自动在该节点上重新创建 Pod,确保服务的连续性
  • 滚动更新:当 Pod 模板更新时,DaemonSet 支持滚动更新,逐步替换旧的 Pod 实例
  • 灵活性:用户可以指定节点标签选择器来控制 Pod 在哪些节点上运行,提供灵活性
  • 资源和调度:DaemonSet 支持资源请求和限制,允许用户为 Pod 指定所需的 CPU 和内存资源
  • 集成:DaemonSet 与 Kubernetes 的其他资源和功能(如服务发现、存储卷和网络策略)紧密集成
  • 可扩展性:DaemonSet 可以轻松扩展到数千个节点,适用于大规模集群


四、资源清单(示例)
# daemonset.yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: demo-daemonset
spec:
  selector:
    matchLabels:
      app: demo-daemonset
  template:
    metadata:
      labels:
        app: demo-daemonset
    spec:
      containers:
      - name: demo-container
        image: demo-image:latest
        ports:
        - containerPort: 80

上述 daemonset.yaml 文件定义了一个名为 demo-daemonset 的 DaemonSet 对象,每个几点上会创建一个 Pod 副本,每个 Pod 包含一个名为 demo-container 的业务容器,业务容器使用 demo-image:latest 镜像,并指定监听端口为 80。

说明:可以通过以下命令查看 DaemonSet 资源清单支持定义的内容

kubectl explain daemonset --recursive


五、常用操作

1、创建 DaemonSet

kubectl create -f daemonset.yaml
或
kubectl apply -f daemonset.yaml

2、更新 DaemonSet

# 方式一:更新 daemonset.yaml 内容后执行
kubectl apply -f daemonset.yaml
 
# 方式二:更新镜像
kubectl set image daemonset demo-daemonset app=demo-image:v1
 
# 方式三:更新环境变量
kubectl set env daemonset demo-daemonset keyname=keyvalue

3、回滚 DaemonSet

# 默认回滚至上一版本
kubectl rollout undo daemonset demo-daemonset
 
# 回滚至指定版本
kubectl rollout undo daemonset demo-daemonset --to-revision=3
 
# 查看可回滚版本
kubectl rollout history daemonset demo-daemonset

4、查看 DaemonSet

# 查看实例列表
kubetcl get daemonset
 
# 查看详细信息
kubectl describe daemonset demo-daemonset

5、删除 DaemonSet

# 方式一:命令行
kubectl delete daemonset demo-daemonset
 
# 方式二:资源清单
kubectl delete -f daemonset.yaml

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[数据集][目标检测]叶子计数检测数据集VOC+YOLO格式240张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):240 标注数量(xml文件个数):240 标注数量(txt文件个数):240 标注类别…

银河麒麟操作系统通过首批软件供应链安全能力认证

麒麟软件产品供应链安全能力获双重肯定!5月30日,经北京赛迪认证中心评估,银河麒麟高级服务器操作系统V10和银河麒麟桌面操作系统V10成为首批获得软件供应链安全能力认证产品,并在操作系统类产品中名列前茅。 软件供应链安全能力评…

2024年数字化经济与智慧金融国际会议(ICDESF 2024)

2024 International Conference on Digital Economy and Smart Finance 【1】大会信息 大会时间:2024-07-22 大会地点:中国成都 截稿时间:2024-07-10(以官网为准) 审稿通知:投稿后2-3日内通知 会议官网:h…

Leetcode 力扣108. 代码测试用例测试结果测试结果108. 将有序数组转换为二叉搜索树 (抖音号:708231408)

给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。 示例 1: 输入:nums [-10,-3,0,5,9] 输出:[0,-3,9,-10,null,5] 解释:[0,-10,5,null,-3,null,9] 也将被视为正确…

mysql用户管理知识点

1、权限表 1.1、user表 1.1.1、用户列 Host、User、Password分别表示主机名、用户名、密码 1.1.2、权限列 决定了用户的权限,描述了在全局范围内允许对数据和数据库进行操作。 1.1.3、安全列 安全列有6个字段,其中两个是ssl相关的,2个是x509相…

使用API有效率地管理Dynadot域名,创建文件夹管理域名

关于Dynadot Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮…

mobaxterm怎么ssh连接

要使用 MobaXterm 进行 SSH 连接,请按照以下步骤操作: 1、首先,确保已经安装了 MobaXterm 软件。 你可以在官方网站(https://mobaxterm.mobatek.net/)上下载并安装它。 2、打开 MobaXterm 软件后,你会看…

新手快速上手IDEA【常用快捷键】

目录 一、常用二、进阶(提高编码速度)三、其他四、查找、替换与关闭最后 一、常用 说明快捷键复制代码ctrl c粘贴ctrl v剪切ctrl x撤销ctrl z反撤销ctrl shift z保存-save allctrl s全选-select allctrl a 二、进阶(提高编码速度&a…

AB测试实战

AB测试实战 1、AB测试介绍🐾 很多网站/APP的首页都会挂一张头图(Banner),用来展示重要信息,头图是否吸引人会对公司的营收带来重大影响,一家寿险公司Humana设计了如下三张头图,现在需要决定使用哪一张放到首页&#x…

SSRF思路及步骤

什么是SSRF? SERVER SIDE REQUEST FORGERY的简写 因为服务器本身提供了资源获取相关的服务,在资源地址能够被用户控制时,将可能导致攻击者利用服务器身份获取预期外的资源的后果 危害? 条件满足的情况下:突破网络防…

electron-Vue: Module parse failed: Unexpected character ‘ ‘

​ electron-Vue项目中,我自己写了一个node的C扩展(xx.node),然后在.vue文件里import它,然后运行npm run electron:serve,报错如下: ​​ electron-Vue打包默认使用webpack,默认情况下webpack没…

Android Coil的简单介绍及使用

前言: 本文是借鉴网上大佬的Coil相关技术文章及结合自己项目中的实际使用情况,对Coil作一个简单介绍。 简介: Coil是一个Android的图片加载框架库,是通过Kotlin协程的方式加载图片的,相对于Glide、Picasso、Fresco等…

AWVS+BP+XRAY三层联动扫描漏洞

1. 前言 本报告详细记录了使用AWVS(Acunetix Web Vulnerability Scanner)、Burp Suite和Xray进行的漏洞扫描结果。旨在帮助开发团队识别和修复系统中的安全漏洞,提升整体安全性。 2. 扫描工具简介 AWVS(Acunetix Web Vulnerabi…

公钥身份验证被拒绝

vim /etc/ssh/sshd_config 确保以下选项设置如下: PermitRootLogin no PubkeyAuthentication yes 注释掉GSSAPI 相关的选项 #GSSAPIAuthentication yes #GSSAPICleanupCredentials no 确保该UsePAM行设置为yes: UsePAM yes 保存文件并重启 sshd 服…

从零开始:如何通过美颜SDK构建自己的直播美颜工具

今天,我将详细介绍如何通过美颜SDK从零开始构建自己的直播美颜工具。 一、了解美颜SDK 什么是美颜SDK 开发者可以通过集成SDK,快速在应用中实现这些功能,而无需从头编写复杂的图像处理算法。 选择合适的美颜SDK 选择时可以根据以下几个方…

响应式网站设计:为何成为首选及其优点

随着近 35 亿万人使用不同的设备访问互联网,响应性网站的设计变得越来越重要。大多数网站的宽度 720 到 1,000 像素间。假如网站访问者的显示器设置为 800 像素或更大且页面宽度超过 720 像素,那么必须向右滚动屏幕来显示所有的信息。目前的问题是不清楚…

科普丨什么是数字孪生灌区(平台)?如何建设?有何好处?

在农业发展的新时代,数字孪生灌区的概念逐渐走进大众视野,成为推动农业现代化、提升粮食安全保障能力的关键力量。那么,究竟什么是数字孪生灌区?它又是如何建设的?又能为我们带来哪些好处呢? 数字孪生灌区…

【TB作品】msp430g2553单片机,家用可燃气体监测报警器,MQ-2,MQ5,PWM风扇

功能 //家用可燃气体监测报警器 //硬件:MQ-2 MQ5 OLED 蜂鸣器 按键 风扇 //1 OLED显示天然气、液化气浓度 //2 OLED显示可燃气体报警临界值 //3 2个按键用于修改可燃气体报警临界值 //4 MQ2检测到的浓度或者MQ7检测到的浓度 高于临界值时,蜂鸣器报警风扇…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-25 多点电容触摸屏实验

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

qlv文件怎么转换成mp4,qlv文件转换成mp4文件的工具软件

qlv转MP4的方法,一直是广大视频爱好者关注的问题。qlv是一种较为特殊的视频格式,而MP4则以其广泛的兼容性和优秀的播放效果,成为众多设备上的首选格式。因此,掌握qlv转MP4的技巧,对于提升视频观看体验至关重要。本文将…