深入探究 Operator 常见问题与未来趋势
1. Operator 开发语言与能力模型
1.1 开发语言
从技术层面讲,只要某种编程语言支持与 Kubernetes 集群交互所需的客户端和 API 调用,就可以用它来编写 Operator。不过,Operator SDK 支持使用 Go 语言编写 Operator,也支持借助 Helm 或 Ansible 等工具来构建。使用 operator-sdk 命令行工具生成 Helm 和 Ansible Operator 相对简单,但这些 Operator 的功能最终会受到限制。而使用 Go 语言编写的 Operator,能提供更多如 Operator 能力模型所定义的功能。
1.2 能力模型
Operator 能力模型是衡量 Operator 所提供功能并告知用户其功能级别的标准。它定义了五个递增的功能级别:
| 级别 | 名称 | 功能描述 |
| ---- | ---- | ---- |
| I | 基本安装 | 能够安装操作数(Operand),若适用,还可公开该安装的配置选项 |
| II | 无缝升级 | 可以在不中断功能的情况下升级自身及其操作数 |
| III | 全生命周期 | 能够处理操作数备份的创建和/或恢复、故障转移场景以进行故障恢复、更复杂的配置选项,并能自动扩展操作数 |
| IV | 深度洞察 | 报告自身或其操作数的指标 |
| V | 自动驾驶 | 处理复杂的自动化任务,包括自动扩展(根据需要创建或删除操作数的副本)、自动修复(基于指标或警报等自动报告检测并从故障场景中恢复)
Operator核心问题与演进趋势
超级会员免费看
订阅专栏 解锁全文
1622

被折叠的 条评论
为什么被折叠?



