Kubernetes 笔记 09 DaemonSet 我是一只看门狗
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫。
Hi,大家好,欢迎大家和我一起学 K8S,这是系列第 9 篇。
和上文中的 Deployment 一样,DaemonSet 也是一种副本管理机制,和 Deployment 可以在每个 Node 上运行好几个 Pod 副本不同的是,DaemonSet 始终保证每个 Node 最多只会运行一个副本,就像它的名称一样,作为一只看门狗(Daemon)守护在主人家里。
那么,哪些应用适合用 DaemonSet 的方式来部署呢?
主要有以下几类:
- 监控类的,比如 Prometheus,collectd,New Relic agent,Ganglia gmond 等。
- 系统管理类的,比如 kube-proxy, kube-flannel 等。
- 日志收集类的,比如 fluentd,logstash 等。
- 数据存储类的,比如 glusterd, ceph 等。
- ......
其中,系统管理类的应用主要是 K8S 自身的一些系统组件,我们可以通过 kubectl get daemonset --namespace=kube-system 查看到:

DaemonSet kube-proxy 和 kube-flannel-ds 有 3 个副本,分别负责在每个节点上运行 kube-proxy 和 flannel 组件。
kube-proxy 前面的文章讲过,它有负载均衡的功能,主要将外部对 Service 的访问导向后端的 Pod 上。显然,一个 Node 运行一个负载均衡器足矣。
我们可以通过 kubectl edit daemonset kube-proxy --namespace=kube-system 来查看 kube-proxy 的 yaml 配置文件。

可以看到它的 kind 是 DaemonSet。
接着再来看 kube-flannel-ds,这是一个网络插件组件,主要用于构建 K8S 的集群网络,这里大家不懂可以跳过,不影响本文的理解,后面在讲到 K8S 网络的时候会重点讲这个网络方案。
这里我们只需要知道,各个 Pod 间的网络连通就是 flannel 来实现的。
这是一个第三方的插件,我们可以直接下载它的 yaml 文件进行安装,执行下面的命令:
wget https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml
得到 kube-flannel.yml 文件:

这里只列出了一部分内容,kind 类型是 DaemonSet。
其实 DaemonSet 配置文件的语法和结构和 Deployment 几乎完全一样,不同就在于将 kind 设为 DaemonSet。
OK,DaemonSet 的探讨就到这里,下文我们继续讨论另外一种 Controller:Job。
我的公众号 「Linux云计算网络」(id: cloud_dev) ,号内有 10T 书籍和视频资源,后台回复 「1024」 即可领取,分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、工具、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎大家关注。
Kubernetes 笔记 09 DaemonSet 我是一只看门狗的更多相关文章
- 第四周读书笔记——读《我是一只IT小小鸟》有感
读<我是一只IT小小鸟>有感 这是邓老师倾力推荐的一本书.这本书的标题化用了我们耳熟能详的歌词,算是较有新意吧.更重点在于,这本书的作者不是哪一位大牛,而是一群刚刚走出校 ...
- 《我是一只IT小小鸟》读书笔记 PB16110698 第四周(~3.29)
<我是一只IT小小鸟>读书笔记 本周在邓老师的推荐下,我阅读了<我是一只IT小小鸟>,这本书由21位初入职场的IT人的传记组成,记录了他们成长道路上的酸甜苦辣.书中一段段鲜活生 ...
- 《我是一只IT小小鸟》读书笔记
大一进来的第一个学期 我对我所读的软件工程专业感到迷茫与不知.就这么昏昏沉沉的度过了一个学期,第二个学期一开始,在上第一节新增加的“大学生创业与指导”课程充满了好奇,在课上老师推荐的一本书<我是 ...
- 《我是一只IT小小鸟》阅读笔记
<我是一只IT小小鸟>,这本书对我来说,有可能我现在并不懂得那其中的道理,但是,我觉得它写的很好,很现在的我很相似,但是在里面,我看到了他们都在说,一开始可能并不对IT这门课有很深的见解, ...
- 我是一只it小小鸟阅读笔记
“我们具有各自的独特性--我们兴趣各异,有不同的家庭背景,不同的知识储备,不同的思维方式……但在现实中,我们也会碰到类似的人生选择的关口,我们会犯类似的错误,有类似的迷惘,也会为类似的精彩鼓掌,而且很 ...
- 读书笔记:<我是一只IT小小鸟>
<我是一只IT小小鸟>第一次听到这本书的时候,我便有了深深的好奇,虽然我是一名学习软件工程的大学生,但是还是第一次听到“IT”这个名词,既陌生又好奇.听到老师提起了这本书的意义以及看法,我 ...
- 阅读笔记《我是一只IT小小鸟》
我是一只IT小小鸟 我们在尝试新的事物的时候,总是会遇到各种各样的困难,不同的人会在碰壁不同的次数之后退出.用程序员喜欢的话来说就是,我们都在for循环,区别在于你是什么情况下break;的.有的人退 ...
- 《我是一只IT小小鸟》 读书笔记
<我是一只IT小小鸟>讲述了IT人员的成长经历,邀请了许多名IT行业的职员,学生,研究生写了自己的亲身经历和人生感悟,以书中可以看到我国IT行业的快速进步,以及看到IT员在这条道路上的坎坷 ...
- 《我是一只IT小小鸟》读书笔记——第七周
我是一只IT小小鸟,每一个程序员都是从这样的阶段成长起来的,问题是是否能一开始就找到正确的路径,少走弯路.本书收集了许多年轻程序员从大学开始到就业的成长之路,十分有指导价值也很让人深思. 切忌急功近利 ...
随机推荐
- Maven常识
maven下面通常有四个文件夹: src/main/java -- 用来存放业务代码 src/test/java -- 用来存放测试代码 另有两个名为resource的文件夹,通常用来放置前两个文件夹 ...
- Selenium 指定浏览器位置
在脚本开头要指定浏览器位置. public static void main(String[] args) throws InterruptedException, IOException { Sys ...
- 转[@SuppressWarnings详解]
背景知识: 从JDK5开始提供名为Annotation(注释)的功能,它被定义为JSR-175规范.注释是以“@注释名”在代码中存在的,还可以添加一些参数 值,例如:@SuppressWa ...
- tcp.go
) _, err := io.ReadFull(clientConn, buf) if err != nil { p.ctx.nsqd.logf("ERROR ...
- springboot redis多数据源
springboot中默认的redis配置是只能对单个redis库进行操作的. 那么我们需要多个库操作的时候这个时候就可以采用redis多数据源. 本代码参考RedisAutoConfiguratio ...
- 用Service+Broadcast解决倒计时过程中Activity被销毁的问题
主要思想是这样的:将倒计时CountDownTimer放在Service里面进行,每过一秒就一条发广播,在主Activity里注册广播,收到广播后更新UI. 一.写一个类CodeTimerServic ...
- Quartz定时调度在Web中的应用
1.在数据库中建一个job表和job日志表 job表
- 【原创】分布式之redis复习精讲
引言 为什么写这篇文章? 博主的<分布式之消息队列复习精讲>得到了大家的好评,内心诚惶诚恐,想着再出一篇关于复习精讲的文章.但是还是要说明一下,复习精讲的文章偏面试准备,真正在开发过程中, ...
- JAVA基础第三章-类与对象、抽象类、接口
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...
- quillJS 富文本编辑器源码分析系列1
quillJS 富文本编辑器目前是一款很火富文本编辑器,使用广泛,github 上面的 star 有 22,492,虽然说不以 star 论英雄,不过这可以说明它还是比较受欢迎的: 它的特点是:轻量, ...
