1、什么是 Operator?
如果你关心 Operator pattern, 请阅读 here。
2、使用Operator-SDK
欢迎
如果你考虑创建一个 Kubernetes Operator, 非常欢迎。从2016年启动以来, Kubernetes Operators 已经帮助用户解决了很多问题。Operators 减少了部署有状态的或者分布式应用的复杂性,帮助用户简化使用Helm chart初始部署的问题,也帮助 Kubernetes API的开发。
如何开始编写Operator?
通常,没有工具和库需要学习,除了 Kubernetes API, 库 client-go
和 controller-runtime
能够启动监视Kubernetes集群中特定的事件和对象。
这里还有 operator-sdk, 是 Operator Framework的一部分,是一个社区项目,目的在于简化Operator创建和实现定制化的控制逻辑。
通常这里有三种方法,决定了有三种 Operators由SDK提供支持:
Operator 类型 | SDK创建的 | 需要你定义的 |
---|---|---|
Go Operator |
|
|
Ansible Operator |
|
|
Helm Operator |
|
|
这是 Operators的不同阶段的成熟度模型:
感兴趣吗?试一下 operator-sdk,参考 Getting Started Guide。
3、访问OperatorHub.io
为了能够管理和搜索Operator,Red hat、Google等公司联合社区发起了operatorhub项目,可以直接访问相关的Operator仓库。
- Kubernetes操作器仓库-OperatorHub,https://www.operatorhub.io/
- Kubernetes应用安装仓库-Helm Charts,https://github.com/helm/charts
- 容器镜像仓库-DockerHub,https://hub.docker.com
已经有了Operator,可以贡献到 OperatorHub.io,访问 here.