Linux 上用 docker-compose 文件指定的方式安装ETCD

转载自:https://xie.infoq.cn/article/ffb0703096f0de1045e1ab028, 这篇博客很棒!完全可执行的。本人修改了作者docker命令替换成了docker compose文件的方式。

  1. 创建数据保存目录: mkdir -p /home/service/etcd/data;
    创建配置目录:mkdir -p /home/service/etcd/conf;
    配置文件: /home/service/etcd/conf/etcd.yml 内容如下:

    etcd配置参考:https://github.com/etcd-io/etcd/blob/main/etcd.conf.yml.sample

#成员名称
name: etcd01
## 数据保存路径
data-dir: /data
##对外提供服务的地址
listen-client-urls: http://0.0.0.0:2379
##成员之间通信地址
listen-peer-urls: http://0.0.0.0:2380
##此成员的客户端URL列表,用于通告群集的其余部分。这些URL可以包含域名
##advertise-client-urls: http://etcd01:2379
  1. 文件 /home/service/etcd/docker-compose.yaml 内容如下:
version: "3.5"
services:
  etcd:
    hostname: etcd
    image: bitnami/etcd:3.5.9
    container_name: etcd
    restart: always
# 设置单节点可以不设置    
#    deploy:
#      replicas: 1
#      restart_policy:
#        condition: on-failure
    privileged: true
    volumes:
      - "/home/service/etcd/data:/data"
      - "/home/service/etcd/conf:/opt/bitnami/etcd/conf"
    environment:
      #参数指不用密码可以连接,初次开启先设置免密
      - "ALLOW_NONE_AUTHENTICATION=yes"
      - "ETCD_CONFIG_FILE=/opt/bitnami/etcd/conf/etcd.yml"
    ports:
      - 2379:2379
      - 2380:2380
    networks:
      - etcdnet
      # networks如无要求,可以不指定
networks:
  etcdnet:
    name: etcdnet  
  1. 在/home/service/etcd 目录下执行 docker-compose up -d ,就可以开启etcd的docker容器。

  2. 用docker ps查看运行的容器,用命令:“docker exec -it <容器id> sh ”进入容器。然后执行命令行添加用户并授权开启权限验证。

# 新增角色
etcdctl role add root
# 新增用户
etcdctl user add root
# 给用户分配角色
etcdctl user grant-role root root
# 查看用户信息
etcdctl user get root
# 为角色设置某个key的权限,有说root默认有所有权限,本人未测试,"/"代表所有的key
etcdctl role grant-permission root readwrite /
# 开启权限验证, 执行后大部分命令都要加账号密码执行:--user=root --password=xxx
etcdctl auth enable
# 禁用身份验证
etcdctl auth disable --user=root --password=xxx
# 修改密码
etcdctl user passwd root --user=root --password=xxx
  1. 其他常用命令
# 设置值
etcdctl key value
# 获取值
etcdctl get key
# 根据前缀获取值
etcdctl get --prefix "pre"
# 获取所有键值对
etcdctl get --prefix ""
# 删除键
etcdctl del key
posted @ 2024-03-29 11:31  熊先生不开玩笑  阅读(132)  评论(0)    收藏  举报