加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

了解Operator 让生活变得更加轻松!

发布时间:2021-05-28 01:11:07 所属栏目:教程 来源:互联网
导读:Operator 是 Kubernetes 的扩展软件,它利用 定制资源 管理应用及其组件。Operator 遵循 Kubernetes 的理念,特别是在控制器 方面[^1] k8s 的是一个高度自动化的

Operator 是 Kubernetes 的扩展软件,它利用 定制资源 管理应用及其组件。Operator 遵循 Kubernetes 的理念,特别是在控制器 方面[^1]

k8s 的是一个高度自动化的系统,其中涵盖了常见应用程序所需的大部分功能,例如服务发现,负载均衡,HPA等等,这些功能是由 k8s 自带的一些控制器实现的,但是需求总是永无止境的,当我们有类似需求但是 k8s 又无法很好的满足的时候我们就可以使用 Operator 和 Custome Resource(自定义资源)来达到类似的效果。

例如常见的需求就有部署一个数据库,节点自动化运维,日志采集组件配置等等

从 Operator 理念的提出到现在已经有了很多工具可以帮助我们快速低成本的开发,其中最常用的就是 CoreOS 开源的 operator-sdk[^3]和 k8s sig 小组维护的 kubebuilder[^2],我们这个系列选用 kubebuilder。

开始之前我们先了解两个马上就会涉及到的核心概念

GV & GVK & GVR

GV: Api Group & Version

API Group 是相关 API 功能的集合

每个 Group 拥有一或多个 Versions

GVK: Group Version Kind

每个 GV 都包含 N 个 api 类型,称之为 Kinds,不同 Version 同一个 Kinds 可能不同

GVR: Group Version Resource

Resource 是 Kind 的对象标识,一般来 Kind 和 Resource 是 1:1 的,但是有时候存在 1:n 的关系,不过对于 Operator 来说都是 1:1 的关系

举个🌰,我们在 k8s 中的 yaml 文件都有下面这么两行,例如上篇文章我们部署的 nginx deployment

apiVersion: apps/v1 # 这个是 GV,G 是 apps,V 是 v1 

kind: Deployment    # 这个就是 Kind 

sepc:               # 加上下放的 spec 就是 Resource了 

  ... 

根据 GVK K8s 就能找到你到底要创建什么类型的资源,根据你定义的 Spec 创建好资源之后就成为了 Resource,也就是 GVR。GVK/GVR 就是 K8s 资源的坐标,是我们创建/删除/修改/读取资源的基础[^4]。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读