文档章节

Kubernetes Operator,SDK与OperatorHub

openthings
 openthings
发布于 03/03 08:20
字数 539
阅读 40
收藏 0

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.

 

© 著作权归作者所有

openthings
粉丝 320
博文 1129
码字总数 675031
作品 1
东城
架构师
私信 提问
Openshit 4:全栈自动化重新定义企业Kubernetes

近日,红帽峰会上,我们庆祝红帽Openshift4的发布,它将在下个月可用。 非常感谢来自全球1000多个组织的客户、我们的合作伙伴、Kubernetes社区以及我们的Red Hat团队,感谢我们一起在这个平台...

OpenShift开源社区
05/15
0
0
PingCAP 开源 TiDB 自动化部署运维工具 TiDB Operator

TiDB Operator 是 TiDB 在 Kubernetes 平台上的自动化部署运维工具,目前,TiDB Operator 已经正式开源。 借助 TiDB Operator,TiDB 可以无缝运行在公有云厂商提供的 Kubernetes 平台上,让 ...

TiDB
2018/08/23
2.5K
2
开源 TiDB Operator 让 TiDB 成为真正的 Cloud-Native 数据库

TiDB Operator 是 TiDB 在 Kubernetes 平台上的自动化部署运维工具,借助 TiDB Operator,TiDB 可以无缝运行在公有云厂商提供的 Kubernetes 平台上,让 TiDB 成为真正的 Cloud-Native 数据库...

CSDN资讯
2018/08/23
0
0
亲历者说:Kubernetes API 与 Operator,不为人知的开发者战争

原创作者:张磊、邓洪超 如果我问你,如何把一个 etcd 集群部署在 Google Cloud 或者阿里云上,你一定会不假思索的给出答案:当然是用 etcd Operator! 实际上,几乎在一夜之间,Kubernetes ...

阿里云云栖社区
01/11
45
0
怎样在 Kubernetes 上运行 PostgreSQL

创建统一管理的,具备灵活性的云原生生产部署来部署一个个性化的数据库即服务(DBaaS)。 通过在 Kubernetes 上运行 PostgreSQL 数据库,你能创建统一管理的,具备灵活性的云原生生产部署应用...

作者: Jonathan S. Katz
04/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 熟悉的味道,难道这就是恋爱的感觉

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :好久没分享歌了分享张碧晨的单曲《今后我与自己流浪》 《今后我与自己流浪》- 张碧晨 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
140
7
SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
18
0
排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
昨天
4
0
mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
昨天
11
0
golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架...

非正式解决方案
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部