Kubernetes(k8s)学习笔记

参考链接:
https://blog.csdn.net/zkkzpp258/article/details/86541362
https://blog.csdn.net/Bubbler_726/article/details/85596418
https://blog.csdn.net/wx_15323880413/article/details/100516698

Kubernetes(k8s)学习笔记

请设想你是一个餐饮业者,打算做披萨生意。

方案1:IaaS:
他人提供厨房、炉子、煤气,你使用这些基础设施,来烤你的披萨。
IaaS 是云服务的最底层,主要提供一些基础资源。它与 PaaS 的区别是,用户需要自己控制底层,实现基础设施的使用逻辑。

方案2:PaaS
除了基础设施,他人还提供披萨饼皮。
你只要把自己的配料洒在饼皮上,让他帮你烤出来就行了。也就是说,你要做的就是设计披萨的味道(海鲜披萨或者鸡肉披萨),他人提供平台服务,让你把自己的设计实现。
PaaS 提供软件部署平台(runtime),抽象掉了硬件和操作系统细节,可以无缝地扩展(scaling)。开发者只需要关注自己的业务逻辑,不需要关注底层。

方案3:SaaS
他人直接做好了披萨,不用你的介入,到手的就是一个成品。你要做的就是把它卖出去,最多再包装一下,印上你自己的 Logo。
SaaS 是软件的开发、管理、部署都交给第三方,不需要关心技术问题,可以拿来即用。

所以,对于自己的工作量(下图蓝色):IaaS>PaaS>SaaS

  • scheduler:调度器,负责介绍任务,选择合适的节点进行分配任务。scheduler会将任务交给api server,之后api server将任务请求写入etcd。也就是说scheduler与etcd并不会直接交互。
  • replication controller: 控制器,维护副本数目(维护期望值),比如说如果副本数目不满足我们的期望值,RC需要根据期望值增加或者删除Pod。
  • api server:服务访问入口
  • etcd:CoreOS公司用Go语言编写的开源键值对数据库,官 定义为一个可信赖分布式键值存储服务,作为k8s集群的持久化方案。它能够为整个分布式集群存储一些关键数据,协助分布式集群的正常运转。存储K8S集群所以重要信息(持久化)。
    注: ETCD分为V2和V3两个版本,V2是将数据存储在内存,V3增加了数据持久化到磁盘。 推荐Kubernetes集群中使用V3,V2已经在Kubernetes v1.11 中弃用。

Node节点:

  • kubelet: kubelet会与CRI(Container Runtime Interface 容器运行时接口,如果使用Docker,这里就是Docker的表现形式),kuberlet回和Docker交互,操作Docker去创建对应容器。也就是说,Kubelet直接跟容器引擎交互,维护Pod的生命周期。
  • kube proxy:负责写入规则至IPTABLES、IPVS,实现服务映射访问。

其他插件

  • CoreDNS:可以为集群中的SVC创建一个域名IP的对应关系解析
  • Dashboard:给K8S集群提供一个B/S结构的访问体系
  • Ingress Controller:官方的Kubernetes只能实现四层代理,Ingress 可以实现七层代理。
  • Federation:提供一个可以跨集群中心多K8S统一管理的功能。
  • Prometheus:提供K8S集群的监控能力。
  • ELK:提供K8S集群日志统一分析介入平台。

Pod

ETCD 之 Flannel 提供说明

  • ETCD存储管理Flannel可分配的 IP 地址段资源
  • 监控 ETCD 中每个Pod的实际地址,并在内存中建立维护Pod节点路由表

不同情况下 络通讯方式

Kubernetes(k8s)学习笔记

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树并发并发的定义92605 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年2月2日
下一篇 2022年2月2日

相关推荐