etcd-operator快速入门完全教程

Operator是指一类基于Kubernetes自定义资源对象(CRD)和控制器(Controller)的云原生拓展服务,其中CRD定义了每个operator所创建和管理的自定义资源对象,Controller则包含了管理这些对象所相关的运维逻辑代码。

对于普通用户来说,如果要在k8s集群中部署一个高可用的etcd集群,那么不仅要了解其相关的配置,同时又需要特定的etcd专业知识才能完成维护仲裁,重新配置集群成员,创建备份,处理灾难恢复等等繁琐的事件。

而在operator这一类拓展服务的协助下,我们就可以使用简单易懂的YAML文件(同理参考Deployment)来声明式的配置,创建和管理我们的etcd集群,下面我们就来一同了解下etcd-operator这个服务的架构以及它所包含的一些功能。

目 标

  1. 了解etcd-operator的架构与CRD资源对象

  2. 部署etcd-operator

  3. 使用etcd-operator创建etcd cluster

  4. 基于etcd-operator备份和恢复etcd cluster

服务架构

etcd-operator的设计是基于k8s的API Extension机制来进行拓展的,它为用户设计了一个类似于Deployment的Controller,只不过这个Controller是用来专门管理etcd这一服务的。

用户默认还是通过kubectl或UI来与k8s的API进行交互,只不过在这个k8s集群中多了一个用户自定义的控制器(custom controller),operator controller的服务是以Pod的方式运行在k8s集群中的,同时这个服务也需要配置所需的RBAC权限(比如对Pod,Deployment,Volume等使用到的资源进行增删改查的操作),下面我们用一个简单的架构图来进行阐述:

etcd-operator的自定义资源对象(CRD)

在k8s中,所有自定义的Controller和其自定义的资源对象(CRD)都必须满足k8s API的规范(参考下图):

  • apiVersion描述了当前自定义资源对象的版本号

  • Kind表示自定义资源对象的名称,用户可通过执行kubectl get $KIND_NAME来获取所创建的CRD对象

  • Metadata继承了原生k8s的metadata,用于添加标签,Annotations等元数据

  • Spec是用户可自定义设计的服务配置参数,如镜像版本号,节点数量,资源配置等等…

  • Status包含了当前资源的的相关

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值