k8s 组件的梳理,Glide 的缓存机制
在打分阶段,调度器会为 Pod 从所有可调度节点中选取一个最合适的 Node。根据当前启用的打分规则,调度器会给每一个可调度节点进行打分。
最后,kube-scheduler 会将 Pod 调度到得分最高的 Node 上。如果存在多个得分最高的 Node,kube-scheduler 会从中随机选取一个。
4、controller
master 节点的控制器,负责在节点出现故障时进行通知和响应,负责对节点的 pod 状态进行监控
Node 组件
1、kubelet
一个在集群中每个节点上运行的代理。它保证容器都运行在 Pod 中。
他负责管理在该节点上的属于 k8s 集群的容器
2、kube-proxy
一个代理,可以通过代理创建一个虚
拟 ip,通过这个 ip 来与 pod 进行交流
3、Container Runtime
容器运行环境是负责在节点上运行容器的软件
附加组件
1、DNS
负责对 k8s 集群进行域名解析
2、Dashboard
Dashboard 是 k8s 集群的一个 web 界面,
3、集群层面日志
集群层面日志机制负责将容器的日志数据保存到一个集中的日志存储中,该存储能够提供搜索和浏览接口。
4、容器资源监控
容器资源监控将关于容器的一些常见的时间序列度量值保存到一个集中的数据库中,并提供用于浏览这些数据的界面。
k8s 流程
供参考:
1、准备好对应的 yaml 文件,通过 kubectl 发送到 Api Server 中
2、Api Server 接收到客户端的请求将请求内容保存到 etcd 中
3、Scheduler 会监测 etcd,发现没有分配节点的 pod 对象通过过滤和打分筛选出最适合的节点运行 pod
4、节点会通过 conteiner runntime 运行对应 pod 的容器以及创建对应的副本数
5、节点上的 kubelet 会对自己节点上的容器进行管理
6、controler 会监测集群中的每个节点,发现期望状态和实际状态不符合的话,就会通知对应的节点
7、节点收到通知,会通过 container runtime 来对 pod 内的容器进行收缩或者扩张
常见问题:
K8S 是如何对容器编排?
在 K8S 集群中,容器并非最小的单位,K8S 集群中最小的调度单位是 Pod,容器则被封装在 Pod 之中。由此可知,一个容器或多个容器可以同属于在一个 Pod 之中。
如果你也是看准了 Python,想自学 Python,在这里为大家准备了丰厚的免费学习大礼包,带大家一起学习,给大家剖析 Python 兼职、就业行情前景的这些事儿。
一、Python 所有方向的学习路线
Python 所有方向路线就是把 Python 常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其必先利其器。学习 Python 常用的开发软件都在这里了,给大家节省了很多时间。
三、全套 PDF 电子书
书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。
四、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、面试资料
我们学习 Python 必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
成为一个 Python 程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!最后祝你好运!!!
评论