当前位置:首页 > 经验 >

kubernetes从入门到精通(kubernetes 学习笔记)

来源:原点资讯(www.yd166.com)时间:2022-11-08 20:30:51作者:YD166手机阅读>>

kubernetes的最重要的设计理念就是声明式API,所谓的声明式API 就是用户通过API定义对象的最终状态,然后剩下的就交给k8s去处理。

Controller manager是真正负责资源管理的组件,它主要是负责容器的副本数管理、节点状态维护、节点网段分配等功能。 它是Kubernetes负责实现生命式API和控制器模式的核心。以ReplicaSet为例,它会周期的检测理想的“目标容器数”和真实的“当前容器数”是否相同,如果不相等,则会将实际的容器数调整到目标容器数,当设置一个ReplicaSet的副本数为10的时候,如果实际的容器数小于10则会执行调用Apiserver创建Pod,对应的,如果当前容器数大于10,则会执行删除Pod操作。整个过程如下图所示:

kubernetes从入门到精通,kubernetes 学习笔记(1)

但其实上面的说法不是特别准确,如果一直死循环比对将会导致资源的浪费,为此k8s里面还有另外一个高级功能 listwatch机制。当用户通过k8s 的apiserver 将资源对象保存或者更新到etcd 后,便会触发一个add、update或者delete 的event事件,这个些事件会放到controller 内部的工作队列 workqueue里面,然后通过这个死循环控制器,对比新老对象的差异,从而执行对应的动作,如下所示,你可以理解只有在有必要比对的时候才会去执行比对动作。

kubernetes从入门到精通,kubernetes 学习笔记(2)

k8s里面有很多的控制器,比如控制副本的replicasset 控制器、控制Deployment的Deployment控制器,控制statefulset的statefulset的控制器,以及service 控制器等。每种控制器分别watch 自己关心的资源,比如一个replicasset的控制器在启动的时候就会watch rs 和pod的状态如下所示。

rsInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ AddFunc: rsc.addRS, UpdateFunc: rsc.updateRS, DeleteFunc: rsc.deleteRS, }) podInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ AddFunc: rsc.addPod, UpdateFunc: rsc.updatePod, DeleteFunc: rsc.deletePod, })

状态发生变化后,就会加入到上面的workqueue,执行比对操作。controller manager整套逻辑的执行是不需要用户参与,这个才是声明式的核心。

栏目热文

kubernetes中文官网(kubernetes介绍)

kubernetes中文官网(kubernetes介绍)

近几年以来,容器生态的增长和发展比以往任何时候都要快,Docker 相关的工具及服务也随之越来越多,以至于想弄明白其中的...

2022-11-08 19:58:32查看全文 >>

毛线编织短裙款式(毛线编织长款长裙图解)

毛线编织短裙款式(毛线编织长款长裙图解)

一组编织工艺精细的钩花半身裙子:,...

2022-11-08 20:07:46查看全文 >>

织毛裤裤裆加针视频(织毛裤怎么分裆视频)

织毛裤裤裆加针视频(织毛裤怎么分裆视频)

10号11号棒针,松紧、缝针、5股纯棉毛线3团,适合1至2岁穿。起70针,织5排下针,一次空加针,2并一,5排下针,对折...

2022-11-08 20:06:29查看全文 >>

短裤的织法和图解(短裤的编织教程)

短裤的织法和图解(短裤的编织教程)

这一类的教程比较少,给大家来一个集合贴方便大家收藏一个贴,以后就可以随心所欲的使用了!,...

2022-11-08 20:42:00查看全文 >>

kubernetes发音(kubernetes哪里下载软件)

kubernetes发音(kubernetes哪里下载软件)

中国程序员容易发音错误的单词单词正确发音(英音)正确发音(美音)错误发音access/'ækses//ˈækse...

2022-11-08 20:39:31查看全文 >>

kubernetes怎么读(一张图看懂kubernetes)

kubernetes怎么读(一张图看懂kubernetes)

作者:HelloGitHub-小鱼干中国程序员容易发音错误的单词,像极了学生时代的纠错本,收录着偶尔会忘记的单词。不过,...

2022-11-08 20:01:20查看全文 >>

kubernetes和docker区别(路由器docker干嘛的)

kubernetes和docker区别(路由器docker干嘛的)

专注于Java领域优质技术号,欢迎关注内容来源:本文由IT大咖说(WeChat_ID:itdakashuo)转自数人云(...

2022-11-08 20:13:22查看全文 >>

kubernetes为什么叫k8s(k8s的常见的三种部署方式)

kubernetes为什么叫k8s(k8s的常见的三种部署方式)

简介Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化...

2022-11-08 19:58:01查看全文 >>

kubernetes 官网(kubernetes软件下载)

kubernetes 官网(kubernetes软件下载)

今天,我们兴奋地向大家宣布,Kubernetes在2021年内的第二个版本、即1.22版本已经正式来临!新版本包含53项...

2022-11-08 20:17:32查看全文 >>

文档排行