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

18|Kubernetes如何定义标准化资源对象?

你好,我是孔令飞。
上一节课,我介绍了 Kubernetes 在设计 RESTful API 接口时的一些特点。接下来几节课,我们通过源码来看下 Kubernetes 具体如何设计 RESTful API。
设计 RESTful API 的第一个核心步骤便是定义 REST 资源对象。Kubernetes 拥有如此庞大的代码量,仍然能够快速迭代和维护,其核心原因之一就是功能设计的标准化,包括 REST 资源对象的设计。
本节课,我们来看下 Kubernetes 如何定义标准化的资源对象。

什么是 Kubernetes 资源对象?

开发 API 接口的第一步就是设计 API 接口。所谓的设计 API 接口,一般包含以下 3 大类工作:
定义 API 接口的参数(资源定义):根据 API 接口的功能定义该 API 接口的各种参数,这些参数包括路径参数、查询参数、请求体等。
定义 API 接口的请求方法:请求方法一般包括 POST、PUT、GET、DELETE、PATCH 等。
定义 API 接口的请求路径:我们需要根据 REST 规范来指定 API 接口的请求路径,如 /apis/batch/v1/cronjobs
其中,最核心的一步是定义 API 接口的参数,也就是资源定义。另外两项——定义 API 接口的请求方法和请求路径——在 Kubernetes 中都会根据资源定义自动生成。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. Kubernetes资源对象是Kubernetes系统中的持久化实体,用于表示整个集群的状态,包括容器化应用的运行情况、可用资源以及运行时表现策略。 2. Kubernetes对象具有“意向表达”特点,一旦创建对象,Kubernetes系统将持续工作以确保对象存在,从而实现集群的期望状态(Desired State)。 3. 操作Kubernetes对象需要使用Kubernetes API,无论是创建、修改或删除对象,都需要通过Kubernetes API进行操作,可以通过kubectl命令行接口或客户端库来调用API。 4. Kubernetes中的资源格式都具有固定的格式,这种标准化的格式有助于实现快速迭代和维护,保证功能设计的标准化,包括REST资源对象的设计。 5. Kubernetes对象描述了Workload类型的资源对象,如Deployment、StatefulSet等,随着Kubernetes功能的迭代,内置了越来越多的对象,这些对象包含的信息已经远远超出了最初的描述。 6. Kubernetes对象的创建告知Kubernetes系统所需的集群工作负载的期望状态,从而实现集群的期望状态(Desired State)。 7. Kubernetes对象的设计和定义是开发RESTful API的核心步骤之一,资源定义是一个开发动作,在Kubernetes中定义出来的资源也叫资源对象,是一个Go结构体,也称为Kubernetes资源对象。 8. Kubernetes对象需要使用Kubernetes API进行操作,无论是创建、修改或删除对象,都需要使用Kubernetes API,可以通过kubectl命令行接口或客户端库来调用API。 9. Kubernetes对象具有一定的格式,所有资源格式都具有固定的格式,这有助于实现功能设计的标准化,保证功能设计的标准化,包括REST资源对象的设计。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《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
退出全屏
⬅️
⬅️
快退
➡️
➡️
快进
空格
空格
视频播放/暂停(视频全屏时生效)