1. 简介
  2. 架构
  3. 快速开始
  4. 入门
  5. 版本兼容性与可支持性
  6. 1. 教程:构建 CronJob
    1. 1.1. 基础项目包含什么?
    2. 1.2. 每段旅程都有起点,每个程序都有 main
    3. 1.3. Groups、Versions 与 Kind,哇哦!
    4. 1.4. 添加一个新的 API
    5. 1.5. 设计一个 API
      1. 1.5.1. 简短插曲:其他这些东西是什么?
    6. 1.6. 控制器包含什么?
    7. 1.7. 实现一个控制器
      1. 1.7.1. 你刚才提到 main?
    8. 1.8. 实现 defaulting/validating Webhook
    9. 1.9. 运行并部署控制器
      1. 1.9.1. 部署 cert-manager
      2. 1.9.2. 部署 Webhook
    10. 1.10. 编写测试
    11. 1.11. 尾声
  7. 2. 教程:多版本 API
    1. 2.1. 变更内容
    2. 2.2. Hub、Spoke 以及其他轮式隐喻
    3. 2.3. 实现转换
      1. 2.3.1. 并配置 Webhook
    4. 2.4. 部署与测试
  8. 3. 迁移
    1. 3.1. 旧版(<= v3.0.0 之前)
      1. 3.1.1. Kubebuilder v1 与 v2
        1. 3.1.1.1. 迁移指南
      2. 3.1.2. Kubebuilder v2 与 v3
        1. 3.1.2.1. 迁移指南
        2. 3.1.2.2. 通过更新文件进行迁移
    2. 3.2. 从 v3.0.0 起(带插件)
      1. 3.2.1. go/v3 与 go/v4
        1. 3.2.1.1. 迁移指南
        2. 3.2.1.2. 通过更新文件进行迁移
    3. 3.3. 单组到多组
  9. 4. Alpha 命令
    1. 4.1. alpha generate
    2. 4.2. alpha update
  10. 5. 参考
    1. 5.1. 生成 CRD
    2. 5.2. 使用 Finalizer
    3. 5.3. 最佳实践
    4. 5.4. 触发事件
    5. 5.5. 监视资源
      1. 5.5.1. 被拥有的资源
      2. 5.5.2. 非拥有的资源
      3. 5.5.3. 使用谓词
    6. 5.6. 用于开发与 CI 的 Kind
    7. 5.7. 什么是 Webhook?
      1. 5.7.1. 准入 Webhook
    8. 5.8. 用于配置/代码生成的 Marker
      1. 5.8.1. CRD 生成
      2. 5.8.2. CRD 校验
      3. 5.8.3. CRD 处理
      4. 5.8.4. Webhook
      5. 5.8.5. 对象/DeepCopy
      6. 5.8.6. RBAC
      7. 5.8.7. Scaffold
    9. 5.9. controller-gen CLI
    10. 5.10. completion
    11. 5.11. 构建产物
    12. 5.12. 平台支持
    13. 5.13. 使用 pprof 进行监控
    14. 5.14. Manager 与 CRD 作用域
    15. 5.15. 子模块布局
    16. 5.16. 使用外部资源/API
    17. 5.17. 配置 EnvTest
    18. 5.18. 指标
      1. 5.18.1. 参考
    19. 5.19. 项目配置
  11. 6. 插件
    1. 6.1. 可用插件
      1. 6.1.1. autoupdate/v1-alpha
      2. 6.1.2. deploy-image/v1-alpha
      3. 6.1.3. go/v4
      4. 6.1.4. grafana/v1-alpha
      5. 6.1.5. helm/v1-alpha
      6. 6.1.6. kustomize/v2
    2. 6.2. 扩展
      1. 6.2.1. CLI 与插件
      2. 6.2.2. 外部插件
      3. 6.2.3. E2E 测试
    3. 6.3. 插件版本管理
  12. 常见问题
latest (v4-book) v3-book v2-book v1-book

The Kubebuilder Book(简体中文)

参考(Reference)

  • 生成 CRD

  • 使用 Finalizer Finalizer 允许在对象从 Kubernetes 集群中被删除之前执行自定义清理逻辑。

  • 监听资源(Watching Resources) 监听集群中的资源变化,并据此采取动作。

    • 监听由控制器“拥有”的二级资源
    • 监听非本控制器“拥有”的二级资源
    • 使用 Predicates 精细化 Watch
  • Kind 集群

  • 什么是 Webhook? Webhook 是 HTTP 回调。Kubernetes 中常见的三类:1)准入(admission)2)CRD 转换 3)鉴权(authorization)。

    • Admission Webhook Admission Webhook 在 API Server 接受对象前,用于变更或校验资源。
  • 用于配置/代码生成的标记(Markers)

    • CRD 生成
    • CRD 校验
    • Webhook
    • Object/DeepCopy
    • RBAC
    • 脚手架(Scaffold)
  • 使用 Pprof 进行监控

  • controller-gen CLI

  • 命令自动补全(completion)

  • 构建产物(Artifacts)

  • 平台支持

  • 子模块布局(Sub-Module Layouts)

  • 使用外部资源 / API

  • 指标(Metrics)

    • 指标参考
  • CLI 插件