kubernetes kube-apiserver源码阅读2之GenericAPIServer

💡 原文中文,约8900字,阅读约需21分钟。
📝

内容提要

本文介绍了Kubernetes中的GenericAPIServer对象以及其在Kubernetes代码版本v1.20.2中的构建过程。GenericAPIServer是一个抽象的HTTP服务器,提供了注册路由和钩子函数的功能。文章还介绍了GenericAPIServer的构建过程,包括创建apiExtensionsServer对象、构造处理链、构建apiServerHandler等。文章还提到了nonGoRestfulMux和gorestfulContainer两个对象,用于注册非RESTful和RESTful风格的路由。最后,文章简要介绍了PrepareRun和Run方法的实现,以及GenericAPIServer.Handler的处理过程。

🎯

关键要点

  • 本文介绍了Kubernetes中的GenericAPIServer对象及其构建过程。
  • GenericAPIServer是一个抽象的HTTP服务器,提供注册路由和钩子函数的功能。
  • 构建GenericAPIServer的过程包括创建apiExtensionsServer对象、构造处理链和apiServerHandler。
  • nonGoRestfulMux和gorestfulContainer用于注册非RESTful和RESTful风格的路由。
  • PrepareRun方法用于准备运行GenericAPIServer,执行各个组件的准备工作。
  • Run方法负责启动GenericAPIServer,并处理关闭信号和钩子函数。
  • GenericAPIServer的Handler处理请求,使用APIServerHandler和处理链。
  • APIServerHandler通过director对象处理请求,支持RESTful和非RESTful路由。
➡️

继续阅读