Torres-tao  

Kubernetes组件通信

Kubernetes多组件之间的通信原理为:

  • API Server负责etcd存储的所有操作,且只有API Server才直接操作etcd集群
  • API Server对内(集群中的其他组件)和对外(用户)提供统一的REST API,其他组件均通过API Server进行通信
    • Controller Manager、Scheduler、Kube-proxy和Kubelet等均通过API Server watch API监测资源变化情况,并对资源做相应的操作
    • 所有需要更新资源状态的操作均通过API Server的REST API进行
  • API Server也会直接调用Kubelet API(如logs、exec、attach等),默认不校验Kubelet证书,但可以通过--kubelet-certificate-authority开启(而GKE通过SSH隧道保护它们之间的通信)

创建Pod的流程为:

  1. 用户通过REST API创建一个Pod
  2. API Server将其写入etcd
  3. Scheduler检测到未绑定Node的Pod,开始调度并更新Pod的Node绑定
  4. Kubelet检测到有新的Pod调度过来,通过Container Runtime运行该Pod
  5. Kubelet通过Container Runtime取到Pod状态,并更新到API Server中
posted on   雷子锅  阅读(107)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
 
点击右上角即可分享
微信分享提示