文档章节

Kubernetes 笔记 09 DaemonSet 我是一只看门狗

o
 osc_a22drz29
发布于 2019/03/26 15:36
字数 677
阅读 15
收藏 0

精选30+云产品,助力企业轻松上云!>>>

本文首发于我的公众号 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-proxykube-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++编程技术等内容,欢迎大家关注。

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
Kubernetes 1.17 发布,包含 22 个增强功能

Kubernetes 1.17 现已正式发布。据悉,这是其在 2019 年的第四次也是最后一次发布。Kubernetes v1.17 包含有 22 个增强功能:其中,14 个增强功能已逐渐稳定,4 个增强功能已进入 beta 版,还...

白开水不加糖
2019/12/12
2.8K
1
kubernetes学习笔记

本文的环境介绍 kubernetes集群是通过kubeadm安装的 本文中很多内容都参考了净超大神的网站,大家可以多看看,O(∩_∩)O~本文目录:kubernetes 通过pod的mac地址找到对应的宿主机虚拟网卡kub...

osc_kc130nmf
2018/05/26
2
0
Kubernetes DaemonSet的滚动升级

DaemonSet好比Kubernetes集群Node的守护进程,可以保证在每个Node上(或者一部分Node上)都运行同一个Pod。 目前我们的线上环境主要用到以下两个DaemonSet: 这个是部署Kubernetes集群时选用的...

xueyi28
2019/05/08
27
0
「7f7a768e」-「Kubernetes」- 使用 Fluentd 收集日志

服务搭建流程概览 1)确定需要收集的日志及位置 2)搭建日志收集服务:Elasticsearch + Kibana + Fluentd 3)验证日志收集成功(能够查看) 集群环境概述 操作系统:CentOS Linux release 7....

k4nz
06/02
1
0
kubernetes DaemonSet资源对象

What is a DaemonSet? DaemonSet能够让所有(或者一些特定)的Node节点运行同一个pod。当节点加入到kubernetes集群中,pod会被(DaemonSet)调度到该节点上运行,当节点从kubernetes集群中被...

xiaomin0322
2018/09/11
106
0

没有更多内容

加载失败,请刷新页面

加载更多

平时使用的Lszrz到底是什么协议?说说Xmodem/Ymodem/Zmodem

XMODEM, YMODEM, and ZMODEM 由于平时使用rz/sz较多,r/s好理解,一个send一个receive。但是由不太清楚z是什么意思,故有此文。 sx/rx, sb/rb (b=batch)和sz/rz分别实现了xmodem,ymodem和z...

独钓渔
35分钟前
17
0
真正的强智能时代已经到来。道翰天琼认知智能机器人平台API大脑。

最近,我常说人工智能的寒冬快要来了,提醒业界要做好思想准备,但同时我也说:冬天来了,春天就不会远了…… 2019年6月我写了篇文章《深度学习的问题究竟在哪?》,说到深度学习的一个主要问...

jackli2020
44分钟前
24
0
什么是控制型人格,控制型人格的筛查测试

一、 什么是控制性人格 拥有控制型人格的人,他们会尽力的隐藏自己的意图,但是又会使用很微妙的方式来利用周围人的弱点,进而占取便宜时,使他们能够得到自己想要的东西。这类人的控制欲非常...

蛤蟆丸子
53分钟前
14
0
【Spring】Spring AOP 代理对象生成逻辑源码分析

1. spring aop案例(POJO注入) 1.0 被代理接口 TargetInterface /** * 被代理的接口 * @author Yang ZhiWei */public interface TargetInterface { void show(); String show......

ZeroneLove
今天
36
0
聊聊dubbo-go的gracefulShutdownFilter

序 本文主要研究一下dubbo-go的gracefulShutdownFilter gracefulShutdownFilter dubbo-go-v1.4.2/filter/filter_impl/graceful_shutdown_filter.go type gracefulShutdownFilter struct {......

go4it
今天
30
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部