接着上一篇,在安装完k8s后,就要开始对他进行折腾了!!

今天我们要做的就是对k8s的架构进行简单的学习(超级简单)。

一、master节点

k8s cluster由master和node组成,节点上运行着若干k8s服务。运行着的daemon服务包括 kube-apiserver、 kube-scheduler、 kube-controller-manager、 etcd和Pod网络(例如flannel)。如图

(这里的图是采用书上的,如有侵权麻烦通知我,我会进行删除)

其中的部件:

  • API Server (kube-apiserver)

    API Server提供HTTP/HTTPS RESTful API,也就是k8s cluster的前端接口,负责给外部访问

  • Scheduler(kube-scheduler)

    负责决定将pod放在哪个node上运行,负责调度。(管理pod)

  • Controller Manager(kube-controller-manager)

    负责管理cluster各种资源,Manager由多种controller组成(赶脚有点像是创建pod的工厂)。

  • etcd
    etcd负责保存Kubernetes Cluster的配置信息和各种资源的状态信息。(负责持久化)

  • pod网络

二、node节点

  • kubelet
    kubelet是node的agent,当Scheduler确定在某个Node上运行Pod后, 会将Pod的具体配置信息(image、 volume等) 发送给该节点的kubelet, kubelet根据这些信息创建和运行容器, 并向Master报告运行状态。(类似这个node的管家)
  • kube-proxy
    service在逻辑上代表了后端的多个Pod, 外界通过service访问Pod。 service接收到的请求是如何转发到Pod的呢? 这就是kube-proxy要完成的工作。
    每个Node都会运行kube-proxy服务, 它负责将访问service的TCP/UDP数据流转发到后端的容器。 如果有多个副本, kube-proxy会实现负载均衡。(负责接收从pod收到的数据流转发到指定的容器上)
  • pod网络
    Pod要能够相互通信, Kubernetes Cluster必须部署Pod网络

三、完整的架构图


可以看到几乎所有的k8s组件本身也运行在pod里,如图
proxy,pod网络(flannel),都是有三组。而kubelet则是通过systemd服务运行在每个节点上(包括master)。各组件的从属可以在ip地址上看到

四、将架构串起来

这里需要注意,新的版本需要用create deployment来创建deploment,而不是用run

kubectl create deployment httpd-app --image=httpd --replicas=2

稍等一下,部署完成!

具体流程

超级简要版本:
1.kubectl发送部署请求到api server
2.api server通知controller manager创建一个deployment资源(deployment管理着replicaset)
3.scheduler执行调度任务,将两个replicas分发到node1和node2中
4.node1和node2上的kubectl在各自的节点上创建并运行pod
(kubectl负责全局的控制,收到请求就分发,cm创建,sc调度)

每天五分钟玩转K8S(二)相关推荐

  1. 每天五分钟玩转K8S(一)

    k8s的安装 总体基于<每天5分钟玩转k8s>这本书,主要是里面有些地方容易有坑,所以想将里面可能有坑的地方记录下来,为其他使用这本书的读者可以避免踩坑.(主要是有些坑坑了我好久T_T)博 ...

  2. 每天五分钟玩转K8S(十一)

    今天我们来了解一下k8s的网络,上网搜了一下,原来k8s的网络水非常深,书上的介绍只是冰山一角.如果有兴趣继续了解的话,需要翻阅其他的资料才行. 可以看看这个,有介绍各种主流的cnihttps://w ...

  3. STM32F103五分钟入门系列(二)GPIO的七大寄存器+GPIOx_LCKR作用和配置

    摘自:STM32F103五分钟入门系列(二)GPIO的七大寄存器+GPIOx_LCKR作用和配置 作者:自信且爱笑' 发布时间: 2021-05-01 12:08:32 网址:https://blog ...

  4. 读书笔记-每天5分钟玩转k8s

    一.K8s基本概念 一.Pod Pod 是容器的集合,通常会将紧密相关的一组容器放到一个 Pod 中,同一个 Pod 中的所有容器共享 IP 地址和 Port 空间,也就是说它们在一个 network ...

  5. 每天5分钟玩转K8S (看书笔记)

    文章目录 第3章 部署k8s集群 安装docker 安装kubeadm,kubelet,kubectl 使用kubeadm创建集群 1.kubeadm初始化创建master 2.配置kubectl 3 ...

  6. 邱若辰微课堂:五分钟玩转豆瓣引流

    线上引流推广的方法很多,随着互联网越来越规范,很多粗狂式的推广方式已经失效,但是这是好事,将会过滤出一部分真正热爱互联网,懂得积累的创业者. 这段时间经常有小伙伴抱怨说,我去做头条把,平台不给我推荐. ...

  7. 五分钟玩转Andriod开发环境配置

    使用IDEA快速配置Android开发环境 1. 配置Java环境 首先下载JDK1.8 然后配置环境变量 配置环境变量HOME.BIN位置 配置环境变量path: 2. 配置SDK 2.1下载SDK ...

  8. 课程规划-每天3分钟玩转小程序

    嘿,乡亲们!是不是以为我要放鸽子了?我是会放鸽子的人?!12点没到,差一分钟都不算! 这一次的专题是小程序开发,按之前的规划每周一.三.五更新一篇. <每天3分钟玩转小程序>是一个和微信小 ...

  9. 深入玩转K8S之智能化的业务弹性伸缩和滚动更新操作

    在上篇我们讲到了较为傻瓜初级的弹性伸缩和滚动更新,那么接下来我们来看看较为高级的智能的滚动更新.本节的知识点呢是K8S的liveness和readiness探测,也就是说利用健康检查来做更为智能化的弹 ...

最新文章

  1. Debian 7(Wheezy)下配置Open×××
  2. EasyTouch中多种QuickGesture手势检测
  3. Python用selenium获取Cookie并用于登录。
  4. 报错 插入更新_自增主键,三类插入测验答案,在这里。
  5. python gui界面启动脚本、点击按钮执行脚本_如何使用PyQt在按钮单击上调用python脚本...
  6. 英语学习笔记2019-12-3
  7. CSS3实现卡片翻转动画
  8. ubuntu解决tensorflow提示未编译使用SSE3、SSE4.1、SSE4.2、AVX、AVX2、FMA的问题
  9. 数据分析对企业的重要性
  10. 2022Android SDK下载与安装
  11. 企业全面运营管理沙盘模拟心得_企业经营沙盘模拟心得总结
  12. 900款工作岗位竞聘PPT模板免费下载
  13. 《凤凰项目》读书笔记二
  14. OSChina 周六乱弹 ——揭秘后羿怎么死的
  15. 802.11n HT模式配置说明
  16. 干货 | 何延哲:App个人信息安全治理的规则、案例与思考
  17. 解决树莓派鼠标延迟/迟滞问题解决
  18. 分享一个开源的QT的串口示波器
  19. 人工智能课程走入高中课堂
  20. mysql SQLSTATE[HY000] [1045] Access denied for user

热门文章

  1. 朱小丹调研广东工业机器人产业有何深意?
  2. 为什么毫米波雷达无法识别静态物体?
  3. 历年计算机一级笔试考试真题及答案解析,全国计算机等级考试上机考题全真笔试历年题...
  4. vmware 虚拟机启动时,提示 虚拟设备“sata0:1”将开始断开连接
  5. JavaScript函子(随笔)
  6. 16大类31种好看的可视化图表,图表控们快收藏!
  7. IUSR_用户(Internet来宾账号)
  8. cocos2dx+JAVA手游《全民挂机》全套源码支持安卓+IOS双端
  9. matlab函数 无限冲激响应滤波器,MATLAB代码 有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器...
  10. 10- 天猫用户复购预测 (机器学习集成算法) (项目十) *