欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker如何部署etcd集群

 更新時(shí)間:2023年03月16日 15:28:32   作者:AlexClownfish  
這篇文章主要介紹了docker如何部署etcd集群問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

需要安裝:

  • docker
  • docker-compose

參數(shù)詳細(xì):

  • –name:設(shè)置成員節(jié)點(diǎn)的別名,建議為每個(gè)成員節(jié)點(diǎn)配置可識別的命名
  • –advertise-client-urls:廣播到集群中本成員的監(jiān)聽客戶端請求的地址
  • –initial-advertise-peer-urls:廣播到集群中本成員的Peer監(jiān)聽通信地址
  • –listen-client-urls:客戶端請求的監(jiān)聽地址列表
  • –listen-peer-urls:Peer消息的監(jiān)聽服務(wù)地址列表
  • –initial-cluster-token:啟動(dòng)集群的時(shí)候指定集群口令,只有相同token的幾點(diǎn)才能加入到同一集群
  • –initial-cluster:所有集群節(jié)點(diǎn)的地址列表
  • –initial-cluster-state:初始化集群狀態(tài),默認(rèn)為new,也可以指定為exi-string表示要加入到一個(gè)已有集群

創(chuàng)建etcd數(shù)據(jù)目錄

mkdir -p ./etcd-node{1,2,3}

創(chuàng)建docker網(wǎng)絡(luò)

docker network create --driver bridge --subnet 172.62.0.0/16 --gateway 172.62.0.1 etcd-cluster

etcd-cluster-compose.yml

version: '3'

networks:
  etcd-cluster:
    external: true

services:
  etcd-node1:
    image: quay.io/coreos/etcd:v3.3.1
    container_name: etcd-node1
    ports:
      - "12379:2379"
      - "12380:2380"
    restart: always
    volumes:
      - ./etcd-node1:/data/app/etcd
    command: etcd --name etcd-node1 --data-dir /data/app/etcd/ --advertise-client-urls http://172.62.0.10:2379 --initial-advertise-peer-urls http://172.62.0.10:2380 --listen-client-urls http://0.0.0.0:2379 --listen-peer-urls http://0.0.0.0:2380 --initial-cluster-token etcd-cluster --initial-cluster "etcd-node1=http://172.62.0.10:2380,etcd-node2=http://172.62.0.11:2380,etcd-node3=http://172.62.0.12:2380" --initial-cluster-state new
    networks:
      etcd-cluster:
        ipv4_address: 172.62.0.10

  etcd-node2:
    image: quay.io/coreos/etcd:v3.3.1
    container_name: etcd-node2
    ports:
      - "22379:2379"
      - "22380:2380"
    restart: always
    volumes:
      - ./etcd-node2:/data/app/etcd
    command: etcd --name etcd-node2 --data-dir /data/app/etcd/ --advertise-client-urls http://172.62.0.11:2379 --initial-advertise-peer-urls http://172.62.0.11:2380 --listen-client-urls http://0.0.0.0:2379 --listen-peer-urls http://0.0.0.0:2380 --initial-cluster-token etcd-cluster --initial-cluster "etcd-node1=http://172.62.0.10:2380,etcd-node2=http://172.62.0.11:2380,etcd-node3=http://172.62.0.12:2380" --initial-cluster-state new
    networks:
      etcd-cluster:
        ipv4_address: 172.62.0.11

  etcd-node3:
    image: quay.io/coreos/etcd:v3.3.1
    container_name: etcd-node3
    ports:
      - "32379:2379"
      - "32380:2380"
    restart: always
    volumes:
      - ./etcd-node3:/data/app/etcd
    command: etcd --name etcd-node3 --data-dir /data/app/etcd/ --advertise-client-urls http://172.62.0.12:2379 --initial-advertise-peer-urls http://172.62.0.12:2380 --listen-client-urls http://0.0.0.0:2379 --listen-peer-urls http://0.0.0.0:2380 --initial-cluster-token etcd-cluster --initial-cluster "etcd-node1=http://172.62.0.10:2380,etcd-node2=http://172.62.0.11:2380,etcd-node3=http://172.62.0.12:2380" --initial-cluster-state new
    networks:
      etcd-cluster:
        ipv4_address: 172.62.0.12

啟動(dòng)并驗(yàn)證集群

啟動(dòng)

[root@k8s-node1 etcd-cluster]# docker-compose -f etcd-cluster-compose.yml up -d
Pulling etcd-node1 (quay.io/coreos/etcd:v3.3.1)...
v3.3.1: Pulling from coreos/etcd
ff3a5c916c92: Pull complete
dec5fcc85a18: Pull complete
3944f16f0112: Pull complete
0b6d29b049fe: Pull complete
d8c39ae91d38: Pull complete
42fcea4864ba: Pull complete
Digest: sha256:454e69370d87554dcb4272833b8f07ce1b5d457caa153bda4070b76d89a1cc97
Status: Downloaded newer image for quay.io/coreos/etcd:v3.3.1
Creating etcd-node1 ... done
Creating etcd-node2 ... done
Creating etcd-node3 ... done
[root@k8s-node1 etcd-cluster]# docker-compose -f etcd-cluster-compose.yml ps -a
   Name                 Command               State                        Ports
------------------------------------------------------------------------------------------------------
etcd-node1   etcd --name etcd-node1 --d ...   Up      0.0.0.0:12379->2379/tcp, 0.0.0.0:12380->2380/tcp
etcd-node2   etcd --name etcd-node2 --d ...   Up      0.0.0.0:22379->2379/tcp, 0.0.0.0:22380->2380/tcp
etcd-node3   etcd --name etcd-node3 --d ...   Up      0.0.0.0:32379->2379/tcp, 0.0.0.0:32380->2380/tcp

驗(yàn)證集群

通過etcdctl member list命令可以查詢出所有集群節(jié)點(diǎn)的列表并且結(jié)果一致即為成功

[root@k8s-node1 etcd-cluster]# docker exec -it  etcd-node1 /bin/sh
/ # etcdctl member list
8cef47d732d4acff: name=etcd-node1 peerURLs=http://172.62.0.10:2380 clientURLs=http://172.62.0.10:2379 isLeader=false
c93af917b643516f: name=etcd-node3 peerURLs=http://172.62.0.12:2380 clientURLs=http://172.62.0.12:2379 isLeader=true
cdee7114ad135065: name=etcd-node2 peerURLs=http://172.62.0.11:2380 clientURLs=http://172.62.0.11:2379 isLeader=false
/ # exit
[root@k8s-node1 etcd-cluster]# docker exec -it  etcd-node2 /bin/sh
/ # etcdctl member list
8cef47d732d4acff: name=etcd-node1 peerURLs=http://172.62.0.10:2380 clientURLs=http://172.62.0.10:2379 isLeader=false
c93af917b643516f: name=etcd-node3 peerURLs=http://172.62.0.12:2380 clientURLs=http://172.62.0.12:2379 isLeader=true
cdee7114ad135065: name=etcd-node2 peerURLs=http://172.62.0.11:2380 clientURLs=http://172.62.0.11:2379 isLeader=false
[root@k8s-node1 etcd-cluster]# docker exec -it  etcd-node3 /bin/sh
/ # etcdctl member list
8cef47d732d4acff: name=etcd-node1 peerURLs=http://172.62.0.10:2380 clientURLs=http://172.62.0.10:2379 isLeader=false
c93af917b643516f: name=etcd-node3 peerURLs=http://172.62.0.12:2380 clientURLs=http://172.62.0.12:2379 isLeader=true
cdee7114ad135065: name=etcd-node2 peerURLs=http://172.62.0.11:2380 clientURLs=http://172.62.0.11:2379 isLeader=false

k/v操作

CURL

新增

[root@k8s-node1 etcd-cluster]# docker-compose -f etcd-cluster-compose.yml ps -a
   Name                 Command               State                        Ports
------------------------------------------------------------------------------------------------------
etcd-node1   etcd --name etcd-node1 --d ...   Up      0.0.0.0:12379->2379/tcp, 0.0.0.0:12380->2380/tcp
etcd-node2   etcd --name etcd-node2 --d ...   Up      0.0.0.0:22379->2379/tcp, 0.0.0.0:22380->2380/tcp
etcd-node3   etcd --name etcd-node3 --d ...   Up      0.0.0.0:32379->2379/tcp, 0.0.0.0:32380->2380/tcp
[root@k8s-node1 etcd-cluster]# curl -L http://127.0.0.1:12379/version
{"etcdserver":"3.3.1","etcdcluster":"3.3.0"}[root@k8s-node1 etcd-cluster]#
[root@k8s-node1 etcd-cluster]# curl -L http://127.0.0.1:12379/v2/keys/Alexclownfish -X PUT -d value=https://blog.alexcld.com
{"action":"set","node":{"key":"/Alexclownfish","value":"https://blog.alexcld.com","modifiedIndex":19,"createdIndex":19}}

查詢

[root@k8s-node1 etcd-cluster]# curl -L http://127.0.0.1:12379/v2/keys/Alexclownfish -X GET
{"action":"get","node":{"key":"/Alexclownfish","value":"https://blog.alexcld.com","modifiedIndex":19,"createdIndex":19}}
[root@k8s-node1 etcd-cluster]# curl -L http://127.0.0.1:22379/v2/keys/Alexclownfish -X GET
{"action":"get","node":{"key":"/Alexclownfish","value":"https://blog.alexcld.com","modifiedIndex":19,"createdIndex":19}}
[root@k8s-node1 etcd-cluster]# curl -L http://127.0.0.1:32379/v2/keys/Alexclownfish -X GET
{"action":"get","node":{"key":"/Alexclownfish","value":"https://blog.alexcld.com","modifiedIndex":19,"createdIndex":19}}

修改

同新建一樣

刪除

[root@k8s-node1 etcd-cluster]# curl -L http://127.0.0.1:12379/v2/keys/Alexclownfish -X DELETE
{"action":"delete","node":{"key":"/Alexclownfish","modifiedIndex":20,"createdIndex":19},"prevNode":{"key":"/Alexclownfish","value":"https://blog.alexcld.com","modifiedIndex":19,"createdIndex":19}}
[root@k8s-node1 etcd-cluster]# curl -L http://127.0.0.1:12379/v2/keys/Alexclownfish -X GET
{"errorCode":100,"message":"Key not found","cause":"/Alexclownfish","index":20}

etcdctl

新增

/ # etcdctl set clownfish 1234567
1234567
/ # etcdctl get clownfish
1234567

查詢

/ # etcdctl get clownfish
1234567

修改

/ # etcdctl get clownfish
1234567
/ # etcdctl set clownfish 987654321ddd
987654321ddd
/ # etcdctl get clownfish
987654321ddd

刪除

/ # etcdctl rm clownfish
PrevNode.Value: 987654321ddd
/ # etcdctl get clownfish
Error: ?100: Key not found (/clownfish) [23]

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何給Docker配置官方國內(nèi)加速鏡像

    如何給Docker配置官方國內(nèi)加速鏡像

    在國內(nèi)訪問 Docker 官方的鏡像,一直以來速度都慢如蝸牛。為了快速訪問 Docker 官方鏡像都會(huì)配置三方加速器
    2017-06-06
  • 使用Docker快速安裝grafana的基本步驟

    使用Docker快速安裝grafana的基本步驟

    Grafana 是一個(gè)強(qiáng)大的開源監(jiān)控和數(shù)據(jù)分析平臺(tái),它能夠與各種數(shù)據(jù)源集成,并提供靈活的可視化和儀表盤功能,下面給大家分享Docker 中安裝 Grafana 的基本步驟,感興趣的朋友一起看看吧
    2024-01-01
  • docker覆蓋鏡像默認(rèn)命令之docker?entrypoint詳解

    docker覆蓋鏡像默認(rèn)命令之docker?entrypoint詳解

    entrypoint命令就是覆蓋ENTRYPOINT命令的,本文給大家介紹了docker覆蓋鏡像默認(rèn)命令之docker?entrypoint的相關(guān)知識,需要的朋友可以參考下
    2023-10-10
  • 遷移Docker中MySQL容器的全過程

    遷移Docker中MySQL容器的全過程

    在這篇文章中,我們將介紹如何將在 Docker 中運(yùn)行的 MySQL 容器從一臺(tái)機(jī)器(我們稱之為A機(jī)器)遷移到另一臺(tái)機(jī)器(我們稱之為B機(jī)器),這個(gè)過程主要包括五個(gè)步驟:提交容器為鏡像,保存鏡像為 tar 包等,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2023-12-12
  • docker空間爆滿導(dǎo)致的進(jìn)入容器失敗的解決方案

    docker空間爆滿導(dǎo)致的進(jìn)入容器失敗的解決方案

    這篇文章主要介紹了docker空間爆滿導(dǎo)致的進(jìn)入容器失敗的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 詳解Docker Compose 中可用的環(huán)境變量問題

    詳解Docker Compose 中可用的環(huán)境變量問題

    Compose 的多個(gè)部分在某種情況下處理環(huán)境變量。這篇文章主要介紹了Docker Compose 中可用的環(huán)境變量問題,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • docker 動(dòng)態(tài)映射運(yùn)行的container端口實(shí)例詳解

    docker 動(dòng)態(tài)映射運(yùn)行的container端口實(shí)例詳解

    這篇文章主要介紹了 docker 動(dòng)態(tài)映射運(yùn)行的container端口實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • 基于docker 搭建Prometheus+Grafana的過程詳解

    基于docker 搭建Prometheus+Grafana的過程詳解

    這篇文章主要介紹了基于docker 搭建Prometheus+Grafana的過程詳解,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • docker安裝RabbitMq添加用戶實(shí)現(xiàn)方式

    docker安裝RabbitMq添加用戶實(shí)現(xiàn)方式

    這篇文章主要介紹了docker安裝RabbitMq添加用戶實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 從進(jìn)程中去理解?Docker隔離技術(shù)

    從進(jìn)程中去理解?Docker隔離技術(shù)

    這篇文章主要介紹了從進(jìn)程中去理解?Docker隔離技術(shù),Docker?公司發(fā)布的?Docker?項(xiàng)目具有里程碑式的意義;Docker?項(xiàng)目通過“容器鏡像”,解決了應(yīng)用打包這個(gè)根本性難題,下文更多相關(guān)資料,需要的朋友可以參考一下
    2022-04-04

最新評論