kubernetes kube-apiserver源码阅读2之GenericAPIServer
原文中文,约8900字,阅读约需21分钟。发表于: 。kubernetes代码版本: v1.20.2 前一节大致看了一下apiserver 的启动流程,以及组成kube-apiserver的三个组件,这一节看看三个组件都会用到的一个非常重要的对象GenericAPIServer, 它是一个HTTP Server的抽象, 虽然这么说很抽象。它会提供注册路由的入口以及各种钩子函数的注册入口。
本文介绍了Kubernetes中的GenericAPIServer对象以及其在Kubernetes代码版本v1.20.2中的构建过程。GenericAPIServer是一个抽象的HTTP服务器,提供了注册路由和钩子函数的功能。文章还介绍了GenericAPIServer的构建过程,包括创建apiExtensionsServer对象、构造处理链、构建apiServerHandler等。文章还提到了nonGoRestfulMux和gorestfulContainer两个对象,用于注册非RESTful和RESTful风格的路由。最后,文章简要介绍了PrepareRun和Run方法的实现,以及GenericAPIServer.Handler的处理过程。