E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
kubernetes源码分析
K8S集群中PLEG问题排查
二、
kubernetes源码分析
PLEGisnothealthy也是一个经常出现的问题POD生命周期事件生成器先说下PLEG这部分代码在kubelet里,我们看一下在kubelet中的注释://GenericPLEGisanextremelysimpleg
序冢--磊
·
2023-11-29 05:00
kubernetes
java
linux
kubernetes源码分析
-pod创建流程
前言首先放一张kubernetes的架构图。其中apiserver是整个架构的信息交互中心。所有组件都会与apisever交互。kubernetes中,每个node都部署了一个kubelet,通过kubelet实现对pod的创建、删除、更新等操作。Pod正式创建前的操作那么kubelet是怎么知道何时需要创建/删除一个pod以及对应的业务容器的呢?在kubernetes中,用户通过kubectlc
hahachenchen789
·
2023-11-11 13:27
kubernetes学习
kubernetes源码分析
-pod删除流程
在Node节点上,k8s是通过kubelet删除具体的pod。而用户删除pod一般通过kubectldeletepod命令,或者利用http直接调用api-server暴露的接口去删除pod。因此在分析kubelet删除具体pod之前,先分析用户删除pod的命令是如何一步步传达给具体node上的(以kubectldeletepod命令为例)。用户删除Pod流程k8s中采用cobra框架作为命令行的
hahachenchen789
·
2023-11-11 13:27
kubernetes学习
【
kubernetes源码分析
】解析apiserver资源类型(一)
这篇文章是
kubernetes源码分析
的第一个主题,后续会陆续更新。大致的纲要为client-go、控制器、调度器、自定义控制器、operator、网络几个方面。
·
2021-04-09 20:41
kubernetes
Kubernetes源码分析
-阿里云Kubernetes关于HPA没有扩缩容的原因定位
最近使用阿里云的kubernetes容器服务,在一个应用上发现了HPA的一些奇怪的地方。如下图所示,当前使用率高于期望值使用率时,没有发生扩容事件,当当前使用率低于期望值使用率时,没有发生缩容事件。由此,通过源码分析一下其中的过程。所以说我们现在遇到的情况应道发生HPA行为,拿我们的例子来说就是math.Ceil((118/110)2),比率运算约等于2.14545454然后向上取整数值应当是3,
发热安啃
·
2020-12-09 14:28
kubernetes
源码分析
kubernetes源码分析
之kube-controller-manager
1.controller-manager在集群中的作用作为集群的管理控制中心,维护集群中的所有控制器,对维持集群的稳定和自我修复,实现高可用,副本控制等起关键作用。2.controller-manager内部结构图cm-inside.png3.controller-manager源码中的关键性调用链controller-manager.png4.具体的源码分析过程4.1.组件启动的入口位置:k8s
doublegao
·
2020-08-22 18:34
kubernetes源码分析
-- kubelet组件
Kubelet需要在每个minion结点上运行。他负责维护在特定主机上的容器。Kubelet的代码架构与kube-proxy类似,cmd部分组织代码调用(cmd/kubelet/kubelet.go),kubelet的功能实现在pkg/kubelet包中。apiServer负责接收server发过来的Pod管理信息,通过channel推送到PodConfig。PodConfig的mux使用Stor
zhaoguoguang
·
2020-08-18 07:03
Kubernetes源码分析
之Pod的删除
本文主要梳理删除Pod时,Pod的执行流程kube-apiserver的任务我们通常使用kubectl命令删除Pod,或者通过http协议直接调用apiserver暴露的接口去删除Pod。所以,删除Pod的起源肯定在apiserver这儿。在之前分析kube-apiserver部分有分析到,kube-apiserver的http处理架构使用的是go-restful。其中,对于删除,调用的自然是DE
weixin_34378922
·
2020-08-18 05:48
Kubernetes源码分析
之kube-scheduler
本节开始主要分析kubernetes源码部分,版本基于当前最新的1.13.4。启动分析Kubernetes基础组件的入口均在cmd目录下,kube-schduler入口在scheduler.go下,如图kubernetes所有的组件启动采用的均是command的形式,引用的是spf13类库通过将配置文件转化成command的形式,调用Execute方法执行定义的Run方法进入runCommand方
weixin_34174132
·
2020-08-18 04:29
Kubernetes 源码分析 -- API Server之编解码
---------作者:weixin_34037977来源:CSDN原文:https://blog.csdn.net/weixin_34037977/article/details/87058105在
Kubernetes
weixin_30877227
·
2020-08-18 04:37
Kubernetes源码分析
之存储相关
本节所有的代码基于1.13.4版本。前言在kubernetes中,与存储相关的controller主要由三种:1、AttachDetachController,简称ADController,主要处理真实的与volume相关的操作;2、PersistentVolumeBinderController,其实就是PVController,主要负责pv和pvc的生命周期以及状态的切换;3、VolumeEx
weixin_33984032
·
2020-07-13 18:00
Kubernetes源码分析
之kube-controller-manager
本节所有的代码基于1.13.4版本。启动分析Controller-manager的启动主要包括各种controller的配置与初始化。初始化方法在NewControllerManagerCommand下,该方法通过创建一个cobra.Command对象,完成初始化的配置工作。进入NewControllerManagerCommand方法,该方法主要对controller-manager管理的所有c
weixin_34368949
·
2020-07-10 09:34
Kubernetes源码分析
之Node Controller
本节所有的代码基于1.13.4版本。启动过程之前在分析controller-manager中说到,controller对于每个controller的控制格式基本一致,都是以start***Controller的方式封装成一个独立的方法,NodeController也不例外。在1.13.4的版本中,Node的控制器分成了两种(很早之前的版本只有一种),分别是NodeIpamController与No
weixin_34161029
·
2020-07-10 08:48
Kubernetes源码分析
之kube-apiserver
本节所有的代码基于最新的1.13.4版本。启动分析同Kubernetes所有的组件启动代码一致,apiserver启动使用的是cobra的命令行方式如图,启动主要完成三个步骤:1、完成参数的配置;2、判断配置是否合法;3、执行最终的Run方法。Run方法比较简单如图,主要执行两个步骤:1、创建server端;2、启动server。因为apiserver本质上就是一个server服务器,所有代码核心
weixin_33757911
·
2020-07-10 07:48
kubernetes源码分析
之kube-scheduler
1.kube-scheduler在集群中的作用kube-scheduler是以插件形式存在的组件,正因为以插件形式存在,所以其具有可扩展可定制的特性。kube-scheduler相当于整个集群的调度决策者,其通过预选和优选两个过程决定容器的最佳调度位置。3.kube-scheduler源码中的关键性调用链kube-scheduler.png4.具体的源码分析过程4.1.组件启动入口位置:k8s.i
doublegao
·
2020-07-10 07:47
Kubernetes源码分析
-- Kubelet系统功能以及基础概念
PodSource是kubelet用于获取Pod定义和描述信息的一个“数据源”,kubelet进程查询并监听PodSource来获取属于自己所在节点的Pod列表,当前支持三种PodSource类型。ConfigFile:本地配置文件作为Pod数据源。HttpURL:Pod数据源的内容通过一个HTTPURL方式获取。KubernetsAPIServer:默认方式,从APIServer获取Pod数据源
何约什
·
2020-06-23 00:58
Kubernetes源码分析
-- API Server值API Server实例如何注册到Service中
Kubernetes集群一经启动,就会有一个缺省的Service:kubernetes,这个服务对应的endpoints就是我们启动的APIServer进程,这个服务是不需要手工创建,我们可以删除这个service,但是可以观察到它会立即重新生成,这个service的目的是什么?它又是怎么生成的呢?在K8S集群中观察首先,在CreateKubeAPIServerConfig函数中,会根据运行参数调
何约什
·
2020-03-18 04:53
kubernetes源码分析
之API Server
1.APIServer在集群中的作用在整个集群中,APIServer处于核心的位置,是各个组件和etcd通信的桥梁,是外部请求的入口。同时承担着集群的安全访问控制,在新节点加入分发证书等。2.APIServer内部的关系图inside.png3.APIServer源码中的关键性调用链kube-apiserver.png4.具体的源码分析过程1.组件启动的入口:位置:k8s.io/kubernete
doublegao
·
2018-12-18 15:29
kubernetes源码分析
-- kubelet组件
Kubelet需要在每个minion结点上运行。他负责维护在特定主机上的容器。Kubelet的代码架构与kube-proxy类似,cmd部分组织代码调用(cmd/kubelet/kubelet.go),kubelet的功能实现在pkg/kubelet包中。apiServer负责接收server发过来的Pod管理信息,通过channel推送到PodConfig。PodConfig的mux使用Stor
zhaoguoguang
·
2016-04-23 12:00
源码
集群
容器
kubernetes源码分析
-- kube-proxy
Kube-proxy需要在每一个minion结点上运行。他的作用是service的代理,负责将业务连接到service后面具体执行结点(endpoints)。我们列一下体现kube-proxy主要设计的代码部分。总的来说kubernetes的代码可以从cmd看进去,看每个组件的启动过程,以及提供的业务。Cmd部分组织启动进程的过程以及代码调用,具体的代码实现在pkg里面。Kube-proxy的重点
zhaoguoguang
·
2016-04-23 11:13
kubernetes源码分析
-- kube-proxy
Kube-proxy需要在每一个minion结点上运行。他的作用是service的代理,负责将业务连接到service后面具体执行结点(endpoints)。我们列一下体现kube-proxy主要设计的代码部分。 总的来说kubernetes的代码可以从cmd看进去,看每个组件的启动过程,以及提供的业务。Cmd部分组织启动进程的过程以及代码调用,具体的代码实现在pkg里面。Kube-pr
zhaoguoguang
·
2016-04-23 11:00
源码
集群
容器
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他