Luga Lee
作者Luga Lee·2023-02-09 09:46
系统架构师·None

一文窥探 Kubernetes ApiServer

字数 770阅读 1691评论 1赞 2

Hello folks,

作为 Kubernetes 编排生态中最重要的核心组件之一,kube-apiserver 用于集群管理的 REST API 接口,包括身份验证和授权、数据验证和集群状态更改等 以及其他模块之间数据交互和通信的枢纽。

废话不多说,以图以蔽之 ~

Kube-APIServer 提供 K8 的 REST API,实现身份验证、授权和准入控制等安全验证功能,以及负责集群状态的存储操作。其基本工作原理如下所示:

以 “/apis/batch/v2alpha1/jobs” 为例,GET 请求的处理过程如下图所示:

以 “/apis/batch/v2alpha1/namespacess/$NAMESPACE/jobs/xxx” 为例,POST 请求的处理过程如下图所示:

API Endpoints 模型如下所示:

注:不同版本可能存在部分差异

Kubernetes API 是一个以 JSON 为主要序列化模式的 HTTP API,但它也支持协议缓冲区,主要用于集群内部通信。出于可扩展性的原因,Kubernetes 支持不同 API路径上的多个 API 版本,例如: /api/v1 或 /apis/extensions/v1beta1。不同的 API 版 本意味着不同级别的稳定性和支持:

1、Alpha 级别,例如 v1alpha1 默认禁用,对功能的支持可以随时放弃。

2、Beta 级别,例如 v2beta3,默认启用,这意味着代码经过了良好的测试,但在随后的测试版或稳定版本中,对象的语义可能会以不兼容的方式发生变化。

3、稳定级别,v1 将出现在许多后续版本的已发布软件中。

以及所对应的 API Group 相关参考模型如下所示:

针对 APIServer 更多的内部技术细节,笔者将在后续的文章中描述,敬请期待。

Adiós !

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论1 条评论

h123aixh123aix网络工程师ji
2023-02-13 10:20
谢谢分享!
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广