第三章 kubernetes核心原理

kubernetes API Servernode

提供了Kubernetes各种资源对象(如pod,re,service等)的增删改查及watch等Http Rest接口,成为集群内各个功能模块之间数据交互和通讯的中心枢纽,是整个系统的数据总线和数据中心。api

运行下列的curl命令,分别返回集群中Pod列表,service列表,rc列表等。curl

curl localhost:8080/api/v1/podsurl

curl localhost:8080/api/v1/servicesspa

curl localhost:8080/api/v1/replicationcontrollerss代理

 

只暴露部分REST服务,能够在master或者其余任何节点上经过运行kebectl proxy进程启动内部代理对象

kubectl proxy --reject-path="^/api/v1/replicationcontrollers" --port=8001 --v=2blog

curl localhost:8001/api/v1/replicationcontrollers                   <h3>Unauthorized<h3>接口

 

独特的kubernetes Proxy API 接口进程

API里关于Node的相关接口,其中{name}为节点的 名称或IP地址,包括如下几个具体接口。

/api/v1/proxy/nodes/{name}/pods/   列出指定节点内全部pod的信息

/api/v1/proxy/node/{name}/stats/  列出指定节点内物理资源的统计信息

/api/v1/proxy/nodes/{name}/spec/ 列出指定节点的概要信息

 

集群功能模块之间的通讯

 

每一个node每隔一个时间周期,就会调用一次API Server 的Rest接口报告自身状态,API Server 接受到这些信息后,将节点状态信息更新到etcd中。

kube-controller-manager进程与API Server交互,kube-controller-manager中的node Controller模块经过API Server提供非watch接口,实时监控Node的信息,并作相应的处理。

 

Controller Manager原理分析

Controller Manager做为集群内部的管理控制中心,负责集群内的node,pod副本,服务端点(Endpoint),命名空间Namespace,服务帐号(ServiceAccount),资源定额(ResourceQuota)等的管理,当某个Node意外宕机时,Controller Manager会及时发现故障并执行自动修复流程,确保集群始终处于预期的工做状态。

 

Replication Controller

Replication Controller的核心功能是确保在任什么时候候集群中一个rc所关联的pod副本数量保持预设值,若是发现pod副本数量超过预期值,则replication controller会销毁一些pod副本。

相关文章
相关标签/搜索