Kube Operator 开发工具介绍

发布时间: 更新时间: 总字数:410 阅读时间:1m 作者: IP上海 分享 网址

Kubernetes Operator是coreos提出的Kubernetes的扩展软件,它是一个感知应用状态的控制器,通过扩展Kubernetes API CRD来创建、管理和配置应用实例。

介绍

Kubernetes 社区通过 https://operatorhub.io/ 分享 Operator。

  • Kubernetes Operator 是一种封装、部署和管理 Kubernetes 应用的方法,包括:
    • CRD
    • Controller
    • Webhook
  • 目的是简化在 Kubernetes 中部署复杂的、有状态的应用
  • 使用场景
    • 按需部署应用
    • 获取/还原应用状态的备份
    • 处理应用代码的升级以及相关改动。例如,数据库 schema 或额外的配置设置
    • 分布式应用集群部署等

Operator controller 工作过程:

  • 通过 Kubernetes API 观察/获取 Operator 定义的资源状态
  • 分析当前状态与期望状态的差别
  • 调用 Kubernetes API 消除差别

开发 Operator 的工具

有多种不同的方式开发 Operator,从本质看,都是在 k8s 控制器运行时上进行封装,支持自动生成脚手架代码。Kubernetes Operator 实现方式主要包括:

  • kubebuilder
    • 由 kubernetes-sigs 维护
    • 基于 k8s 控制器运行时封装
    • 包含 CRD、Controller、Webhook 开发
    • 遵循 OpenAPI 规范
  • operator-SDK(不推荐)
    • 由 coreOS 维护,当前在往 kubebuilder 靠拢
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数