Prometheus-Prometheus-Opterator中添加监控etcd集群
一、Etcd快速入门
1.1、 etcd 介绍
- 2013 年 6 月,CoreOS 发起了 etcd 项目。etcd 使用 Go 语言实现,是分布式系统中重要的基础组件,目前最新版本为 V3.4.9。etcd 可以用来构建高可用的分布式键值数据库,根据官网介绍,总结来说有如下的特点:
- 简单:etcd 的安装简单,且为用户提供了 HTTP API,用户使用起来也很简单
- 存储:etcd 的基本功能,数据分层存储在文件目录中,类似于我们日常使用的文件系统
- Watch 机制:Watch 指定的键、前缀目录的更改,并对更改时间进行通知
- 安全通信:SSL 证书验证
- 高性能:etcd 单实例可以支持 2k/s 读操作,官方也有提供基准测试脚本
- 一致可靠:基于 Raft 共识算法,实现分布式系统数据的高可用性、一致性
- etcd 是一个分布式键值存储数据库,支持跨平台,拥有强大的社区。etcd 的 Raft 算法,提供了可靠的方式存储分布式集群涉及的数据。etcd 广泛应用在微服务架构和 Kubernates 集群中,不仅可以作为服务注册与发现,还可以作为键值对存储的中间件。从业务系统 Web 到 Kubernetes 集群,都可以很方便地从 etcd 中读取、写入数据。
1.2、etcd 应用场景
- etcd 在稳定性、可靠性和可伸缩性表现极佳,同时也为云原生应用系统提供了协调机制。etcd 经常用于服务注册与发现的场景,此外还有键值对存储、消息发布与订阅、分布式锁等场景。
1.2.1、 键值对存储
- 如下是官方对 etcd 的描述:
????
A highly-available key value store for shared configuration and service discovery.
一个用于配置共享和服务发现的键值存储系统。
????
从其定义来看,etcd 是一个「键值存储」的组件,存储是 etcd 最基本的功能,其他应用场景都是建立在 etcd 的可靠存储上。etcd 的存储有如下特点:
采用键值对数据存储,读写性能一般高于关系型数据库;
etcd 集群分布式存储,多节点集群更加可靠;
etcd 的存储采用类似文件目录的结构:
叶子节点存储数据,其他节点不存储,这些数据相当于文件;
非叶节点一定是目录,这些节点不能存储数据。
比如 Kubernetes 将一些元数据存储在 etcd 中,将存储状态数据的的复杂工作交给 etcd,Kubernetes 自身的功能和架构能够更加专注。
二、PromQL查询etcd指标
Etcd-Etcd快速入门及PromQL查询etcd指标
原文:https://www.cnblogs.com/dai-zhe/p/14912253.html