注意: 不耐烦的读者可以直接跳到 快速开始。
使用旧版本的 Kubebuilder v1 或 v2? 请查看 v1、v2 或 v3 的遗留文档
这适合谁
Kubernetes的用户
Kubernetes 用户将通过学习 API 设计和实现的基本概念,深入理解 Kubernetes。 本书将教会读者如何开发自己的 Kubernetes API 以及核心 Kubernetes API 设计的原则。
包括:
- Kubernetes API 和资源的结构
- API版本控制语义
- 自我修复
- 垃圾收集与终结器
- 声明式 API 与 命令式 API
- 基于层级的 API 与基于边缘的 API
- 资源与子资源
Kubernetes API 扩展开发者
API 扩展开发者将学习实现规范 Kubernetes API 的原则和概念,以及用于快速执行的简单工具和库。 本书涵盖了扩展开发者常遇到的陷阱和误解。
包括:
- 如何将多个事件批量合并到一次对账调用中
- 如何配置定期对账
- 即将到来
- 何时使用列出缓存与实时查找
- 垃圾回收与终结器
- 如何使用声明式验证与 Webhook 验证
- 如何实现 API 版本控制
为什么选择 Kubernetes API
Kubernetes API 提供了一致且明确定义的对象网络端点,遵循一致且丰富的结构
这种方式促进了丰富的工具和库生态系统与 Kubernetes API 进行交互。
用户通过将对象声明为 yaml 或 json 配置,并使用常见工具来管理这些对象,方便与 APIs 进行交互。
将服务构建为 Kubernetes API 相较于传统的REST,有以下优势:
- 托管的 API 网络端点、存储和验证。
- 丰富的工具和命令行接口,例如
kubectl
和kustomize
。 - 支持身份验证(AuthN)和细粒度授权(AuthZ)。
- 通过 API 版本控制和转换并且支持 API 版本演进。
- 促进自适应/自愈 API 的实现,它们能够在没有用户干预的情况下持续响应系统状态的变化。
- Kubernetes 是一个托管环境
开发者可以构建并发布自己的 Kubernetes API,方便安装到运行中的 Kubernetes 集群中。
贡献
如果您希望为本书或代码贡献内容,请先阅读我们的贡献指南。
资源
-
Slack频道:#kubebuilder
-
Google 群组: kubebuilder@googlegroups.com