0
点赞
收藏
分享

微信扫一扫

生成operator框架

小亦同学321 2022-01-26 阅读 53

在实现的开发过程中,开发人员需要借助 Operator 开发框架来扩展 Kubernetes API。operator framework 可以提供 webhookcontroller 的框架,它的主要意义在于帮助开发者屏蔽了一些通用的底层细节,不需要开发者再去实现消息通知触发、失败重新入队等,只需关注被管理应用的运维逻辑实现即可。主流的 operator framework 主要有两个:kubebuilderoperator-sdk

主要步骤是首先定义好 Group、version 以及 kind,然后使用 operator framework 命令即可生成所需的 operator 框架,CRD结构等,具体用法这里不详细叙述。

自定义controller实现

// Define some nested types to simplify the codebase
type Controller interface {
    Run(int, <-chan struct{})
}
type InformerFactory interface {
    Start(stopCh <-chan struct{})
    WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool
}

// 初始化两种 CRD 的 controller
// Initialize all controllers
controllers := []Controller{
    // add serverlessdb controller
    serverlessdb.NewController(deps),
    // add backup controller
    backup.NewController(deps),
}
举报

相关推荐

0 条评论