etcd教程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了etcd教程相关的知识,希望对你有一定的参考价值。

1、什么是 etcd

etcd 是 CoreOS 团队于 2013 年 6 月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库,基于 Go 语言实现。我们知道,在分布式系统中,各种服务的配置信息的管理分享,服务的发现是一个很基本同时也是很重要的问题。CoreOS 项目就希望基于 etcd 来解决这一问题。

etcd 目前在 github.com/coreos/etcd 进行维护。

受到 Apache ZooKeeper 项目和 doozer 项目的启发,etcd 在设计的时候重点考虑了下面四个要素:

简单:支持 REST 风格的 HTTP+JSON API
安全:支持 HTTPS 方式的访问
快速:支持并发 1k/s 的写操作
可靠:支持分布式结构,基于 Raft 的一致性算法

一般情况下,用户使用 etcd 可以在多个节点上启动多个实例,并添加它们为一个集群。同一个集群中的 etcd 实例将会保持彼此信息的一致性。

2、安装
etcd 基于 Go 语言实现,因此,用户可以从 项目主页 下载源代码自行编译,也可以下载编译好的二进制文件,甚至直接使用制作好的 Docker 镜像文件来体验。

2.1 二进制文件方式下载
编译好的二进制文件都在 github.com/coreos/etcd/releases 页面,用户可以选择需要的版本,或通过下载工具下载。

例如,下面的命令使用 curl 工具下载压缩包,并解压。
技术分享图片
解压后,可以看到文件包括
技术分享图片
其中 etcd 是服务主文件,etcdctl 是提供给用户的命令客户端。

推荐通过下面的命令将三个文件都放到系统可执行目录 /usr/local/bin/ 或 /usr/bin/。

运行 etcd,将默认组建一个两个节点的集群。数据库服务端默认监听在 2379 和 4001 端口,etcd 实例监听在 2380 和 7001 端口。显示类似如下的信息:
技术分享图片
此时,可以使用 etcdctl 命令进行测试,设置和获取键值 testkey: "hello world",检查 etcd 服务是否启动成功:
技术分享图片
说明 etcd 服务已经成功启动了。

2.2 Docker 镜像方式下载
镜像名称为 quay.io/coreos/etcd:v2.0.0_rc.1,可以通过下面的命令启动 etcd 服务监听到 4001 端口。
技术分享图片

以上是关于etcd教程的主要内容,如果未能解决你的问题,请参考以下文章

etcd-operator快速入门完全教程

1etcd基础介绍

如何利用Confd与Etcd对CoreOS中的服务进行动态重新配置

kubernetes控制平面组件:etcd

让我们一起揭开Etcd背后Raft算法的面纱

k8s 中 etcd ca证书问题 - 未授权机构签发