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

21 | 请求路径构建(下):Kubernetes如何根据资源对象构建请求路径?

你好,我是孔令飞。
上一节课,我门讲了 REST 规范及如何构建符合 REST 规范的请求路径,也提到 Kubernetes 在构建 REST 请求路径时,依赖于 3 个资源核心概念:Group、Version、Kind。
这节课就详细介绍下 Kubernetes 中的资源核心概念,以及 Kubernetes 是如何基于这些核心概念来构建 REST 请求路径的。

Kubernetes 中的资源核心概念

整个 Kubernetes 的功能都是围绕着资源来构建的。想要学好 Kubernetes,就要深入细致地学习资源。

资源(Resource)

我们讲过,在 Kubernetes 中,资源指的是集群中可被管理和调度的任何实体,如 Pod、Service、Deployment 等。资源可以是用户定义的,也可以是 Kubernetes 自身定义的。在 API 层面,这些资源本质上就是一个 REST 资源。Kubernetes 的资源又分为父资源和子资源,例如:/api/v1/namespaces/default/pods 资源就包含了子资源 /api/v1/namespaces/default/pods/status。我们可以将父资源和子资源视为同一类资源。
在 Kubernetes API Server 使用 APIResource 结构体来代表一个资源组,APIResource 结构体定义如下:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. Kubernetes 中的资源核心概念包括资源、资源类型(Kind)和资源组(Group),构建整个 Kubernetes 功能的基础。 2. 资源(Resource)在 Kubernetes 中指的是集群中可被管理和调度的任何实体,分为父资源和子资源,可以视为同一类资源。 3. Kubernetes 的 `/api` 和 `/apis` 路径分组分别用于访问核心 API 组和自定义 API 组,提供了一种更加灵活的方式来扩展 Kubernetes API。 4. Kubernetes 的资源类型又可以分为工作负载、服务发现与负载均衡、配置与存储、集群和元数据等五类,有助于更好地理解和分类资源。 5. Kubernetes 中支持多个资源组(Group),每个资源组中又包含多个版本(Version),每个版本中又包含多个资源类型(Kind),每个资源类型又包含多个具体的资源(Resource)。 6. Kubernetes 中的资源版本控制可分为 3 种,分别是 Alpha、Beta 和 Stable,代表着不同的稳定性和支持级别。 7. GV(Group Version)指的是 API 资源的组和版本,用于标识和区分不同组和版本的 API 资源。 8. GVK(Group Version Kind)是 API 资源的组、版本和类型的组合,用于唯一标识和定位一个具体的 API 资源。 9. GVR(Group Version Resource)是 API 资源的组、版本和资源名称的组合,用于在代码中动态地构建和操作 API 资源的 URL 路径。 10. 通过 GV、GVK 和 GVR,开发人员可以准确定位和操作集群中的各种 API 资源。

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

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部
文章页面操作
MAC
windows
作用
esc
esc
退出沉浸式阅读
shift + f
f11
进入/退出沉浸式
command + ⬆️
home
滚动到页面顶部
command + ⬇️
end
滚动到页面底部
⬅️ (仅针对订阅)
⬅️ (仅针对订阅)
上一篇
➡️ (仅针对订阅)
➡️ (仅针对订阅)
下一篇
command + j
page up
向下滚动一屏
command + k
page down
向上滚动一屏
p
p
音频播放/暂停
j
j
向下滚动一点
k
k
向上滚动一点
空格
空格
向下滚动一屏
播放器操作
MAC
windows
作用
esc
esc
退出全屏
⬅️
⬅️
快退
➡️
➡️
快进
空格
空格
视频播放/暂停(视频全屏时生效)