kubernetes kube-apiserver源码阅读3之认证
kubernetes代码版本: v1.20.2
从前文我们知道,认证,鉴权,审计等操作的并没有集成在GenericServer
里面,所以本文看看这个请求链是怎么工作的。
kubernetes代码版本: v1.20.2
从前文我们知道,认证,鉴权,审计等操作的并没有集成在GenericServer
里面,所以本文看看这个请求链是怎么工作的。
据我所知,所有开源负载均衡都会提供至少一种扩展机制,BFE
也不例外,BFE
通过模块的选择可以更精细的控制BFE
在处理请求中的各个阶段。如果内置模块不能满足自己需求,那么可以自己开发模块,而BFE
是用Golang
写的,所以开发效率很高。
如果你还是不懂怎么配置BFE
的路由,个人觉得,这是正常的,但是如果之前的文章让你有了Host
, HostTag
, Product
, Cluster
的概念就够了。本文尝试配置一些示例配置文件的来继续讲解BFE
的路由机制。
前文了解了BFE
的启动流程,本文深入一下BFE
的路由部分,当我们了解了BFE
路由机制,就可以理解BFE
的配置文件,也就可以使用BFE
了。但是说实话,BFE
的路由规则相对于其他产品有点反直觉,因为我使用的还不多,姑且这么说吧。
BFE是一个功能强大的网关。 因为BFE是用Golang写的,所以值得一看,但是它的用户体验实在是一言难尽。
go-ethereum版本: v1.12.2
由于以太坊(ethereum)在不断的发展, 所以协议也在不断的改进,如果你看过《用Go来做以太坊开发》,你会发现其中关于查询交易的那一节中的获取交易的发送者From
这部分代码在最新版本中已经失效了,本文主要演示当前以太坊(ethereum)最新版本获取的获取方式。
kubernetes代码版本: v1.20.2
前一节大致看了一下apiserver 的启动流程,以及组成kube-apiserver
的三个组件,这一节看看三个组件都会用到的一个非常重要的对象GenericAPIServer
, 它是一个HTTP Server的抽象, 虽然这么说很抽象。它会提供注册路由的入口以及各种钩子函数的注册入口。
kubernetes代码版本: v1.20.2
个人认为kube-apiserver
是k8s中最核心的组件,承上启下,无论是k8s其他组件还是是外部客户端都需要跟kube-apiserver
组件进行交互,kube-apiserver
负责接受请求并将数据持久化到后端存储(一般来说就是etcd.)。
书接上回,继续看kubectl 删除, 更新, 查询操作的源代码。因为之前已经介绍了kubectl一些常用的设计模式和代码结构,所以本文会比较快的阅读其他操作的代码。
如果不知道怎么用client-go,那就看看kubectl的代码吧,kubectl除了是一个比较优秀的命令行工具之外,还提供了比较好的代码实现,通过看kubectl的代码我们可以抄到很多有用的代码片段。