Kubernetes 源码剖析与实战
孔令飞
前腾讯云专家工程师
1271 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已更新 24 讲/共 55 讲
Kubernetes 源码剖析与实战
15
15
1.0x
00:00/00:00
登录|注册

22|Kubernetes支持哪些RESTful API接口?

你好,我是孔令飞。
前面几节课,我从一般企业应用的 RESTful API 接口设计、开发流程和思路上,为你详细介绍了 Kubernetes 中的核心概念和资源定义方式。
接下来,我们从源码层面看下 Kubernetes 具体是如何构建一个 RESTful API 接口的。为了方便你理解,我会花三节课来讲解:
Kubernetes 支持哪些 RESTful API 接口?
如何使用 go-restful 开发一个 Web 服务器?
Kubernetes 路由构建源码剖析
这节课,我们先来讲 Kubernetes 支持的 RESTful API 接口。

Kubernetes 中支持哪些 HTTP 接口?

首先,我们来看下,Kubernetes 中支持哪些 HTTP 接口。一般的企业应用通常会支持以下 HTTP 路由:
Kubernetes 中除了支持上述 API 接口操作之外,还支持更多的接口操作类型,如下(可参考 pod.go 文件):

Kubernetes HTTP 路由生成方法

Kubernetes 中 HTTP 路由的构建,其实分为客户端 HTTP 路由构建和服务端 HTTP 路由指定两种方式。
客户端 HTTP 路由构建:指 client-go 根据 SDK 提供的接口,在最终发送 HTTP 请求时,指定 HTTP 路由。
服务端 HTTP 路由指定:指 kube-apiserver 在服务启动时设置 HTTP 路由,类似于 r.GET 这种形式。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. Kubernetes的client-go SDK和client-gen工具可以用于访问kube-apiserver并生成客户端方法,如Create、Update、Delete等,以及指定要生成的API接口方法、对应的HTTP方法、入参和回参。 2. 生成的客户端方法包括Create、Update、Delete、Get、List、Watch、Patch等,可以通过注释指定要生成的API接口方法、对应的HTTP方法、入参和回参。 3. client-gen工具可以通过注释指定方法名称、HTTP动词、子资源操作、输入类型和返回类型,以便定制化生成所需的API接口方法。 4. Kubernetes的RESTful API支持常规的CRUD操作,状态更新、批量操作和实时监听等高级接口,路径构建由资源组、版本、资源类型共同决定。 5. 客户端路由生成依赖于client-gen工具,通过资源定义文件中的注释自动生成SDK方法,并支持扩展自定义子资源操作。 6. 服务端路由由kube-apiserver在启动时静态注册,通过registerResourceHandlers方法将HTTP动词与资源路径绑定,确保每个操作映射到正确的REST端点。 These key points summarize the main focus of the article and provide a clear understanding of the concepts related to client-go SDK, client-gen tool, RESTful API, and server-side routing in Kubernetes.

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Kubernetes 源码剖析与实战》
新⼈⾸单¥68
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部