0


微服务实战系列之玩转Docker(十七)

导览

前言

etcd

容器云常用的分布式数据存储工具,它采用经典的

RAFT

协议实现数据的一致性。为进一步加深对etcd集群的了解和使用,博主快马加鞭,再续新篇。本篇重点介绍如何实现etcd数据的可视化管理,请紧随博主的步伐,Let’s go~

在这里插入图片描述

Q:如何实现etcd数据的可视化管理

一、创建etcd集群

1. 节点定义

基于上篇文章(快捷入口),我们延续原集群的定义,即3个

node


节点名称节点IP端口etcd-node110.11.12.44:2380etcd-node210.11.12.45:2380etcd-node310.11.12.46:2380

2. 集群成员

启动每个node后,我们可以通过三步操作,查看成员列表。

2.1 docker ps

登录任意一个

node

,比如etcd-node1,查看

etcd

容器是否已启动(status=Up):
在这里插入图片描述
如上所示,代表成功,

next

2.2 docker exec

访问

etcd-node1

容器内部,执行如下命令:

docker exec -it etcd-node1  /bin/bash

运行结果如下:
在这里插入图片描述
如上所示,代表成功,

next

2.3 etcdctl member list

查看当前etcd-node1节点所在的集群成员列表:

etcdctl member list

运行结果如下:
在这里插入图片描述
如上所示,代表集群运行正常。

二、发布数据

集群正常工作后,我们正式开启数据发布之旅,比如添加一个K-V。

1. 添加数据

按照 2.2 说明执行操作,我们先进入etcd-node1容器内部(

当然你也可以选择另外2个node,博主以node1为例

):
在这里插入图片描述
保持当前连接状态,我们继续next。

# 添加一个key为`etcd`的值:"Hello etcd~"
etcdctl put etcd "Hello etcd~"

执行完成后,你可以观察当前key(

'etcd'

)是否已添加(出现

“OK”

字样):
在这里插入图片描述
如上所示,代表此key添加成功。

2. 数据共享

通过etcd-node1节点完成添加key的操作后,我们可以在另外2个节点中,验证此key是否已在集群内共享。只需分别执行如下命令:

# 获取key为`etcd`的值
etcdctl get etcd

etcd-node2结果如下:
在这里插入图片描述
etcd-node3结果如下:
在这里插入图片描述
至此,博主认为当前的 etcd 集群可以开始正常工作了(当然不考虑

安全

的前提下),是不是很简单?

提示

:这里使用到了 etcdctl 这个工具,它是一个支持etcd命令行的客户端,可与etcd集群进行交互,完成数据的共享与管理。

三、可视化管理

通过前两节的详细介绍,相信各位盆友可以掌握etcd集群的基本用法。不过可以多想想是否还有进一步提升的空间?Yes!

我们总不能在每次发布数据后,再通过

etcdctl

去观察吧?有句话说得好:

“言传不如身教,行动胜于言辞”

。有想法必有行动,正好前辈们也是这么认为的。这不博主马上给各位介绍一个etcd的好伙伴儿:

ETCD Keeper

——一个etcd集群数据管理的好帮手、好工具。

在这里插入图片描述

1. ETCD Keeper入门

1.1 简介

ETCD Keeper

是一款轻量级的etcd web客户端,支持etcd2和etcd3两个版本。

一句话总结

:我们可以使用它与etcd集群进行交互,比如查看、添加、删除、更新数据等操作。

1.2 安装

1.2.1 定义compose.yml

选择etcd集群内任意一个node,进行安装。博主依然选择以

docker compose

的方式进行操作举例,

docker-compose.yml

内容如下:

services:etcd-node1:image: bitnami/etcd:3container_name: etcd-node1
    environment:- TZ=Asia/Shanghai
      - ETCD_NAME=etcd-node1
      - ETCD_DATA_DIR=/bitnami/etcd/data
      - ALLOW_NONE_AUTHENTICATION=yes
      - ETCD_ADVERTISE_CLIENT_URLS=http://10.11.12.44:2379- ETCD_INITIAL_ADVERTISE_PEER_URLS=http://10.11.12.44:2380- ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380- ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster
      - ETCD_INITIAL_CLUSTER=etcd-node1=http://10.11.12.44:2380,etcd-node2=http://10.11.12.45:2380,etcd-node3=http://10.11.12.46:2380- ETCD_INITIAL_CLUSTER_STATE=new
    restart: always
    ports:- 2380:2380- 2379:2379volumes:- /app/etcd/data:/bitnami/etcd/data
      
  #添加etcd管理工具keeperetcd-keeper:image: evildecay/etcdkeeper:latest
    container_name: etcd-keeper
    restart: always
    ports:- 8000:8080

第一个service是etcd服务(延用上一篇配置),第二个service就是本次的添加的

etcd-keeper

(默认端口

8080

)。

etcd-keeper

默认监控本主机的

2379

端口(该端口是本机etcd节点的运行端口),所以无需指定etcd集群的IP端口。

1.2.2 启动keeper

准备好

docker-compose.yml

后,我们可以立即启动它。只需执行如下命令:

# 启动compose中的service
docker compose up -d
# 查看容器
docker compose ps

运行结果如下,我们可以发现2个service均已启动成功(status=Up):
在这里插入图片描述
接下来,好戏开场~

2. 数据管理

2.1 打开etcdkeeper

我们打开浏览器,输入

http://10.11.12.44:8000/etcdkeeper/

,即可打开etcd-keeper的web客户端,界面如下所示:
在这里插入图片描述

提示

:keeper默认监控的地址是127.0.0.1,需要改为ectd集群节点的实际IP。否则可能拒绝连接。

在这里插入图片描述

2.2 数据操作

通过该web客户端,我们可以轻松的向etcd集群发布数据。比如添加目录或文件:

在这里插入图片描述
在这里插入图片描述
是不是很直观?很简单?很高效?

结语

当我们拥有了一个etcd集群后,是不是该考虑如何进行有效的数据管理和监控?答案是肯定的。虽然

etcd

本身提供了客户端工具

etcdctl

(基于命令行),但是etcd keeper面向现实场景提供了更好的解决方案,所以更适用于日常的工作实践。

走过的、路过的盆友们,点点赞,收收藏,并加以指导,以备不时之需哈~

系列回顾


微服务实战系列之玩转Docker(十六)
微服务实战系列之玩转Docker(十五)
微服务实战系列之玩转Docker(十四)
微服务实战系列之玩转Docker(十三)
微服务实战系列之玩转Docker(十二)
微服务实战系列之玩转Docker(十一)
微服务实战系列之玩转Docker(十)
微服务实战系列之玩转Docker(九)
微服务实战系列之玩转Docker(八)
微服务实战系列之玩转Docker(七)
微服务实战系列之玩转Docker(六)
微服务实战系列之玩转Docker(五)
微服务实战系列之玩转Docker(四)
微服务实战系列之玩转Docker(三)
微服务实战系列之玩转Docker(二)
微服务实战系列之玩转Docker(一)
微服务实战系列之云原生

在这里插入图片描述

标签: docker 架构 etcd

本文转载自: https://blog.csdn.net/splendid_java/article/details/143356199
版权归原作者 一叶飞舟 所有, 如有侵权,请联系我们删除。

“微服务实战系列之玩转Docker(十七)”的评论:

还没有评论