Kubernetes Operator,SDK与OperatorHub

1、什么是 Operator?

如果你关心 Operator pattern, 请阅读 here

 

2、使用Operator-SDK

欢迎

如果你考虑创建一个 Kubernetes Operator, 非常欢迎。从2016年启动以来, Kubernetes Operators 已经帮助用户解决了很多问题。Operators 减少了部署有状态的或者分布式应用的复杂性,帮助用户简化使用Helm chart初始部署的问题,也帮助 Kubernetes API的开发。

如何开始编写Operator?

通常,没有工具和库需要学习,除了 Kubernetes API, 库 client-gocontroller-runtime 能够启动监视Kubernetes集群中特定的事件和对象。

这里还有 operator-sdk, 是 Operator Framework的一部分,是一个社区项目,目的在于简化Operator创建和实现定制化的控制逻辑。

通常这里有三种方法,决定了有三种 Operators由SDK提供支持:

Operator 类型 SDK创建的需要你定义的
Go Operator
  • General go program structure
  • Boilerplate code to talk to the Kubernetes API
  • Boilerplate code to watch for Kubernetes objects of interest
  • An entry point to the reconciliation loop
  • An example YAML files based on CRDs
  • Custom objects via CRDs
  • Control loop logic in Go
  • Potentially artistic stunts only possible by talking directly to the API from Go
Ansible Operator
  • A Go program that runs an Ansible playbook or role every time a certain type of object is detected / modified
  • Ansible playbook or role
  • Custom objects via CRD
Helm Operator
  • A custom object via CRD containing the same properties as the chart's values.yaml
  • A Go program that reads a helm chart and deploys all its resources
  • Watch statements to detect changes in the custom objects specification, re-deploying all resources with updated values
  • The location / repository of the helm chart

这是 Operators的不同阶段的成熟度模型:

感兴趣吗?试一下 operator-sdk,参考 Getting Started Guide

3、访问OperatorHub.io

为了能够管理和搜索Operator,Red hat、Google等公司联合社区发起了operatorhub项目,可以直接访问相关的Operator仓库。

已经有了Operator,可以贡献到 OperatorHub.io,访问  here.

 

转载于:https://my.oschina.net/u/2306127/blog/3017225

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值