首页
›
云原生架构与平台工程
›
059-Kubernetes Operator发布流水线
›
《Operator SDK自定义CRD控制器开发与部署》
VIP20
本课程属于:059-Kubernetes Operator发布流水线
云原生架构与平台工程 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Operator SDK自定义CRD控制器开发与部署
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
Operator模式概述
Operator模式的定义 · 与Kubernetes控制器模式的关… · Operator的典型应用场景
Operator
模式概述
02
Operator SDK简介
Operator SDK的起源 · 主要功能 · 支持的构建方式(Helm
Operator
SDK
03
环境准备
安装Go语言环境 · 安装Docker · 安装kubectl
环境准备
Go
04
安装Operator SDK
不同操作系统下的安装方法 · 验证安装 · SDK版本选择建议
Operator
SDK
05
初始化Operator项目
使用operator-sdk ini… · 项目目录结构解析 · go.mod与main.go的作用
Operator
初始化
06
创建API与控制器
使用operator-sdk cre… · 定义CRD的Group/Versio…
API
创建
07
自定义资源(CRD)设计
CRD的Spec与Status字段设… · OpenAPI v3 Schema验…
CRD
自定义资源
08
编写CRD类型定义(Go结构体)
定义Spec结构体 · 定义Status结构体 · 使用+kubebuilder标记
CRD
Go
09
控制器Reconcile逻辑入门
Reconcile函数签名 · Request与Result的含义 · Reconcile循环机制
Reconcile
控制器
10
Reconcile中的资源查询
使用Client.Get/List查… · 查询关联的Pod/Deploymen…
Reconcile
资源查询
11
Reconcile中的资源创建与更新
使用ControllerUtil.C… · 处理资源已存在的情况
Reconcile
资源创建
12
Reconcile中的状态更新
更新CRD的Status子资源 · 使用Status().Update(…
Reconcile
状态更新
13
Finalizer与资源清理
Finalizer的作用 · 添加Finalizer · 在Reconcile中实现清理逻辑
Finalizer
资源清理
14
OwnerReference与级联删除
设置OwnerReference · 利用Kubernetes垃圾回收机制
OwnerReferen…
级联删除
15
事件记录与日志
使用record.Event记录事件 · 使用logr进行结构化日志输出
事件记录
日志
16
控制器权限管理(RBAC)
使用+kubebuilder · 生成ClusterRole与Role
RBAC
控制器权限管理
17
Webhook简介
Admission Webhook的… · Mutating与Validatin…
Webhook
简介
18
实现Mutating Webhook
编写Defaulter · 注册Webhook · 配置CertManager
Mutating
Webhook
19
实现Validating Webhook
编写Validator · 校验CRD字段合法性 · 返回拒绝原因
Validating
Webhook
20
本地测试控制器
使用make run在本地运行控制器 · 使用kubectl apply测试C…
本地测试控制器
make
21
构建与推送Operator镜像
编写Dockerfile · 使用make docker-buil… · 推送到镜像仓库
Operator
构建
22
部署Operator到集群
使用make deploy · 验证Operator Pod运行状态
Operator
部署
23
使用OLM(Operator Lifecycle Manager)打包
生成Bundle · 构建Catalog · 在OLM中安装
OLM
Operator
24
编写Controller测试
使用envtest编写单元测试 · 测试Reconcile逻辑
Controller
编写
25
编写端到端(E2E)测试
使用Ginkgo/Gomega框架 · 模拟集群环境测试完整流程
E2E
编写端到端
26
多版本CRD管理
CRD版本转换(Conversion… · 存储版本与服务版本的区别
CRD
多版本
27
高级模式
Leader Election(领导… · 多工作队列 · 速率限制
高级模式
Leader
28
监控与指标
暴露Prometheus指标 · 使用controller-runti…
监控
指标
29
常见问题与调试技巧
Reconcile循环不触发 · 权限不足 · Webhook证书问题
常见问题
调试技巧
30
项目实战
从零构建一个完整的MySQL Ope…
项目实战
MySQL
所属VIP或分类
同VIP:CRD-Operator控制器开发与状态调试
同VIP:CRD控制器灰度发布回滚与可靠性验证
同VIP:K8s-Operator发布流水线跨环境迁移重试队列对账