kubernetes组件详解和创建POD流程

一.各组件功能说明

kubernetes集群是由两种节点构成,包含Master节点和工作节点。
其中Master节点中主要有三个重要的组件:

  • kube-apiserver:负责响应用户的管理请求,进行指挥协调等工作。
  • kube-scheduler:资源调度,负责决定将Pod放在哪个Node上运行。
  • kube-controller-manager:负责管理集群各种资源,保证资源处于预期的状态。
    工作节点运行两个重要组件,分别为kubelet和kube-proxy:
  • kubelet:kubelet是node的agent,当kube-scheduler确定在某个Node上运行Pod后,会将Pod的具体配置信息(image,volume等)发送给该节点的kubelet,kubelet会根据这么信息创建和运行容器,并向Master节点报告运行状态。
  • kube-proxy:service在逻辑上代表了后端的多个Pod,外部通过service访问Pod,service接收到请求就需要kube-proxy转发到Pod。每个Node上都会运行kube-proxy服务,负责将访问的service的TCP/UDP数据流转发到后端的容器。如果有多个副本,kube-proxy会实现负载均衡,这里有两种实现方式:LVS或者Iptables。

这里要了解kubernetes的创建POD的详细流程,我们首先需要了解各组件的功能,这里就kubernetes的组件进行具体说明。

1.1 kube-apiserver

kube-apiserver提供kubernetes所有资源增删改查的唯一入口,也是集群控制的入口,提供HTTP/HTTPS restful的接口,完成集群管理、资源配额、访问控制、认证授权以及对etcd的操作。

1.2 kube-controller-manager

kube-controller-manager负责管理集群各种资源,保证资源处于预期的状态。kube-controller-manager由多种controller-manager组成,包括replication controller、endpoints controller、namespace controller、serviceaccounts controller等。由kube-controller-manager完成的主要功能包括生命周期功能和API业务逻辑,具体如下:

  • 生命周期功能:包括Namespace创建和生命周期、Event垃圾回收、Pod终止相关的垃圾回收、级联垃圾回收及Node垃圾回收等。

猜你喜欢

转载自www.cnblogs.com/yuhaohao/p/12909764.html