k8s创建pod和service的过程

k8s创建pod过程

通过图片进行解释

etcd键值库只对API server开放,API server就是k8s集群中的控制中心,一般对API server所在的Master做集群,避免因单点故障影响k8s集群中业务的访问。

  • 通过kubectl命令输入create pod命令
  • 创建命令到达API server后,API server把创建pod的信息写入到etcd键值库中
  • API server把创建新pod的需o s C x m o求传给schi ; ~ P 5 z Eeduler,schedule { 9 Or通过算法计算分配到合适的Node节点,分配绑定到后端Node上的信息传回至API server,API server在把此信息写入到etc{ * ) L : j ~ 0 +d键值库中
  • API servercom.cn/tag/%e4%bc%a0%e9%80%92" target="_blank">传递新建pod信息至Scheduler指定nodek . #节点的kubelet程序,kubelet接管后,创建出本地指定的container后,完成信息返回至API server
  • API server把新建好的pod信息写入到etcd键值库中
  • 至此,一个简单的kubectl create POD_NAME ***就新建完成

创建pod节点的service

  • 通过kubectl提交一个pod的service创建请求
  • ControlC & sler Manager会通过对应的Label标签查 ) 4 ^ B d v h询到相关的pod实例,B ; P f g / (生成Serveice的Endpoints信息,并通过API server写入到etcd键值库中
  • Worker Node节点上的kube proxy通过API server查询并监听service对象M @ . & { Z y w与其对应的Endpoints信息(2 s @ T务发现),创建一个类似负载均衡器实现Service访问到后- b & A )端Pod的流量转发功能(负载均衡)。