本节详细分析两个 k8s 自己的 DaemonSet:kube-flannel-ds 和 kube-proxy 。

kube-flannel-ds

下面我们通过分析 kube-flannel-ds 来学习 DaemonSet。

还记得之前是如何部署 flannel 网络的吗?我们执行了如下两个命令:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

flannel 的 DaemonSet 就定义在 kube-flannel.yml 中:

注:配置文件的完整内容要复杂些,为了更好地学习 DaemonSet,这里只保留了最重要的内容。

① DaemonSet 配置文件的语法和结构与 Deployment 几乎完全一样,只是将 kind 设为 DaemonSet

② hostNetwork 指定 Pod 直接使用的是 Node 的网络,相当于 docker run --network=host。考虑到 flannel 需要为集群提供网络连接,这个要求是合理的。

③ containers 定义了运行 flannel 服务的两个容器。

我们再来分析另一个 DaemonSet kube-proxy

kube-proxy

由于无法拿到 kube-proxy 的 YAML 文件,只能运行如下命令查看其配置:

kubectl edit daemonset kube-proxy --namespace=kube-system

同样为了便于理解,这里只保留了最重要的信息。

① kind: DaemonSet 指定这是一个 DaemonSet 类型的资源。

② containers 定义了 kube-proxy 的容器。

③ status 是当前 DaemonSet 的运行时状态,这个部分是 kubectl edit特有的。其实 Kubernetes 集群中每个当前运行的资源都可以通过 kubectl edit 查看其配置和运行状态,比如 kubectl edit deployment nginx-deployment

下节我们讨论如何运行自己的 DaemonSet。

DaemonSet 案例分析的更多相关文章

  1. DaemonSet 案例分析 - 每天5分钟玩转 Docker 容器技术(130)

    本节详细分析两个 k8s 自己的 DaemonSet:kube-flannel-ds 和 kube-proxy . kube-flannel-ds 下面我们通过分析 kube-flannel-ds 来 ...

  2. ENode框架Conference案例分析系列之 - 文章索引

    ENode框架Conference案例分析系列之 - 业务简介 ENode框架Conference案例分析系列之 - 上下文划分和领域建模 ENode框架Conference案例分析系列之 - 架构设 ...

  3. SQL性能优化案例分析

    这段时间做一个SQL性能优化的案例分析, 整理了一下过往的案例,发现一个比较有意思的,拿出来给大家分享. 这个项目是我在项目开展2期的时候才加入的, 之前一期是个金融内部信息门户, 里面有个功能是收集 ...

  4. CSS3-3D制作案例分析实战

    一.前言 上一节,介绍了基础的CSS3 3D动画原理实现,也举了一个小小的例子来演示,但是有朋友跟我私信说想看看一些关于CSS3 3D的实例,所以在这里为了满足一下大家的需求,同时也为了以后能够更好的 ...

  5. 实时控制软件设计第一周作业-汽车ABS软件系统案例分析

    汽车ABS软件系统案例分析 ABS 通过控制作用于车轮制动分泵上的制动管路压力,使汽车在紧急刹车时车轮不会抱死,这样就能使汽车在紧急制动时仍能保持较好的方向稳定性. ABS系统一般是在普通制动系统基础 ...

  6. 个人作业-Week2 案例分析

    微软必应词典客户端的案例分析 第一部分 调研,评测 1)bug: 运行平台:iOS 10.0.2 必应词典版本:4.2.2 1. bug标题:词库加载错误 bug详细描述:学习界面中的经典词库出国考试 ...

  7. 【MySQL】排序原理与案例分析

    前言 排序是数据库中的一个基本功能,MySQL也不例外.用户通过Order by语句即能达到将指定的结果集排序的目的,其实不仅仅是Order by语句,Group by语句,Distinct语句都会隐 ...

  8. 个人作业-Week2:案例分析

    截止时间:2016年9月25日24:00. 很多同学有误解,软件工程课是否就是理论课?或者是几个牛人拼命写代码,其他人打酱油的课?要不然就是学习一个程序语言,搞一个职业培训的课? 都不对, 软件工程有 ...

  9. ORA-04031错误导致宕机案例分析

    今天遇到一起ORACLE数据库宕机案例,下面是对这起数据库宕机案例的原因进行分析.解读.分析过程中顺便记录一下这个案例的前因后果,攒点经验值,培养一下分析.解决问题的能力. 案例环境:   操作系统 ...

随机推荐

  1. UVaLive 3902 Network (无根树转有根树,贪心)

    题意:一个树形网络,叶子是客户端,其他的是服务器.现在只有一台服务器提供服务,使得不超k的客户端流畅,但是其他的就不行了, 现在要在其他结点上安装服务器,使得所有的客户端都能流畅,问最少要几台. 析: ...

  2. Flex AIR操作文件系统

    1.各种文件操作http://blog.csdn.net/zdingxin/article/details/6635376 2.file.browseForDirectory("请选择一个目 ...

  3. C#基础:线程之异步委托

    线程:是程序中独立的指令流.在我们熟悉的Visual Studio编辑器中输入C# 代码的时候,系统会自动分析代码,提示你输入的代码出现的各种错误,这是一个后台线程完成的. 创建线程的一种简单的方式就 ...

  4. laravel 遍历循环

    @foreach($xxx as $k=>$y) {{$y->id}} @endforeach

  5. 请写出JAVA弹栈压栈的步骤, 栈的存储方式

    一.栈的作用 1. 栈的存放 局部变量 堆中对象的引用(对象在堆内存中的地址)   一个对象的大小无法估计,但是一个对象的引用只占4byte   基本数据类型的变量没有什么存储区域的说法,内存中分为两 ...

  6. Android Activity生命周期(转)

    转自 http://blog.csdn.net/android_tutor/article/details/5772285

  7. Android 流量测试方法

    流量测试怎么测?下面总结了几个方法: 一.通过pid获取流量 > 1.获取应用的pid adb shell ps | grep packagename 2.通过pid获取该进程的流量信息 adb ...

  8. js获取窗口参数

    window.onscroll=function getScrollTop(){ console.log(scrollTop) if(document.documentElement&& ...

  9. MvcPager无刷新分页,包含搜索和跳转功能

    1.MVC无刷新分页和搜索(第一版)  http://pan.baidu.com/s/1eRQ7Ml8  密码:uqf7 出现的问题: 1)程序不走判断条件一直为false, 错误原因:1)可能没有引 ...

  10. 一个普通Java程序包含哪些线程??

    package com.java.threads; import java.lang.management.ManagementFactory; import java.lang.management ...