gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

從零開始搭建etcd分布式存儲系統+Web管理界面

什么是ETCD

隨著CoreOS和Kubernetes等項目在開源社區日益火熱,它們項目中都用到的etcd組件作為一個高可用、強一致性的服務發現存儲倉庫,漸漸為開發人員所關注。

在云計算時代,如何讓服務快速透明地接入到計算集群中,如何讓共享配置信息快速被集群中的所有機器發現,更為重要的是,如何構建這樣一套高可用、安全、易于部署以及響應快速的服務集群,已經成為了迫切需要解決的問題。

etcd為解決這類問題帶來了福音,它是一個高可用的 Key/Value 存儲系統,內部采用raft協議作為一致性算法。
準備好了嗎,干貨要來了,are you ok ?

本飛豬教程內容簡介

  • 1.etcd的安裝
  • 2.搭建單機版
  • 3.搭建集群版
  • 4.使用監聽功能watch(服務發現)
  • 5.使用rest api
  • 6.搭建WEB界面并使用

一.安裝

下載地址:https://github.com/coreos/etcd/releases/

mkdir -p /home/chenqionghe/test/etcd/  cd !$  # 下載  wget https://github.com/etcd-io/etcd/releases/download/v3.3.12/etcd-v3.3.12-linux-amd64.tar.gz  # 解壓安裝  tar zxvf etcd-v3.3.12-linux-amd64.tar.gz  cd etcd-v3.3.12-linux-amd64  ## 將啟動文件和命令管理文件拷貝到 PATH找到的路徑中  cp etcd /usr/local/bin  cp etcdctl /usr/local/bin  cp -r etcd-v3.2.5-linux-amd64 /usr/local/etcd  #將軟件放置到常用目錄下

啟動參數解釋

--name  etcd集群中的節點名,這里可以隨意,可區分且不重復就行    --listen-peer-urls  監聽的用于節點之間通信的url,可監聽多個,集群內部將通過這些url進行數據交互(如選舉,數據同步等)  --initial-advertise-peer-urls   建議用于節點之間通信的url,節點間將以該值進行通信。  --listen-client-urls  監聽的用于客戶端通信的url,同樣可以監聽多個。  --advertise-client-urls  建議使用的客戶端通信url,該值用于etcd代理或etcd成員與etcd節點通信。  --initial-cluster-token etcd-cluster-1  節點的token值,設置該值后集群將生成唯一id,并為每個節點也生成唯一id,當使用相同配置文件再啟動一個集群時,只要該token值不一樣,etcd集群就不會相互影響。  --initial-cluster  也就是集群中所有的initial-advertise-peer-urls 的合集  --initial-cluster-state new  新建集群的標志

二.搭建單機版

直接啟動

etcd

etcd默認監聽的是localhost的2379端口,既只監聽了lo設備,這樣會導致啟動后集群中的其他機器無法訪問
因此我們可以在啟動的時候將默認的localhost改成0.0.0.0,確保etcd監聽了所有網卡。

etcd -listen-client-urls="http://0.0.0.0:2379" --advertise-client-urls="http://0.0.0.0:2379"

注意:etcd有要求,如果–listen-client-urls被設置了,那么就必須同時設置–advertise-client-urls,所以即使設置和默認相同,也必須顯式設置
我們來使用curl來測試一下,是否可以遠程訪問,這里我的機器IP是10.211.55.25

?  ~ curl -L  http://10.211.55.25:2379/version  {"etcdserver":"3.3.12","etcdcluster":"3.3.0"}

當然,我們也可以通過docker運行,這里給出啟動腳本

#!/usr/bin/env bash  ETCD_NAME="etcd"  ETCD_VERSION="v3.3.1"  ETCD_PORT_CLIENT=2379  ETCD_PORT_NODE=2380  docker run -d     -p ${ETCD_PORT_CLIENT}:2379     -p ${ETCD_PORT_NODE}:2380     --name ${ETCD_NAME} quay.io/coreos/etcd:${ETCD_VERSION}     /usr/local/bin/etcd     --data-dir=/etcd-data --name node1     --initial-advertise-peer-urls http://0.0.0.0:2380 --listen-peer-urls http://0.0.0.0:2380     --advertise-client-urls http://0.0.0.0:2379 --listen-client-urls http://0.0.0.0:2379     --initial-cluster node1=http://0.0.0.0:2380

三.搭建集群版

Etcd構建自身高可用集群主要有三種形式:

  • 靜態發現: 預先已知 Etcd 集群中有哪些節點,在啟動時直接指定好Etcd的各個node節點地址
  • Etcd動態發現: 通過已有的Etcd集群作為數據交互點,然后在擴展新的集群時實現通過已有集群進行服務發現的機制
  • DNS動態發現: 通過DNS查詢方式獲取其他節點地址信息

這里我們采用Static方式,準備三臺機器,ip如下(都已經安裝etcd)

node1 10.211.55.2  node2 10.211.55.25  node3 10.211.55.26

進入node1,創建并運行run.sh,腳本內容如下

#!/usr/bin/env bash  #節點名稱  ETCD_NAME=node-1  #本機IP地址  LOCAL_IP=10.211.55.2  #ETCD存儲目錄  ETCD_DATA_DIR=/usr/local/etcd/data  #初始化名稱  INITIAL_CLUSTER_TOKEN=cqh-test-cluster  #初始化群集列表  INITIAL_CLUSTER="node-1=http://10.211.55.2:2380,node-2=http://10.211.55.25:2380,node-3=http://10.211.55.26:2380"  #初始化狀態  INITIAL_CLUSTER_STATE=new    #開始運行  etcd --name ${ETCD_NAME} --data-dir ${ETCD_DATA_DIR}       --initial-advertise-peer-urls http://${LOCAL_IP}:2380       --listen-peer-urls http://${LOCAL_IP}:2380       --listen-client-urls http://${LOCAL_IP}:2379,http://127.0.0.1:2379       --advertise-client-urls http://${LOCAL_IP}:2379       --initial-cluster-token ${INITIAL_CLUSTER_TOKEN}       --initial-cluster ${INITIAL_CLUSTER}       --initial-cluster-state ${INITIAL_CLUSTER_STATE}

進入node2,創建并運行run.sh,腳本內容和node1差不多(只修改了ETCD_NAME和LOCAL_IP)

#!/usr/bin/env bash  #節點名稱  ETCD_NAME=node-2  #本機IP地址  LOCAL_IP=10.211.55.25  #ETCD存儲目錄  ETCD_DATA_DIR=/usr/local/etcd/data  #初始化名稱  INITIAL_CLUSTER_TOKEN=cqh-test-cluster  #初始化群集列表  INITIAL_CLUSTER="node-1=http://10.211.55.2:2380,node-2=http://10.211.55.25:2380,node-3=http://10.211.55.26:2380"  #初始化狀態  INITIAL_CLUSTER_STATE=new    #開始運行  etcd --name ${ETCD_NAME} --data-dir ${ETCD_DATA_DIR}       --initial-advertise-peer-urls http://${LOCAL_IP}:2380       --listen-peer-urls http://${LOCAL_IP}:2380       --listen-client-urls http://${LOCAL_IP}:2379,http://127.0.0.1:2379       --advertise-client-urls http://${LOCAL_IP}:2379       --initial-cluster-token ${INITIAL_CLUSTER_TOKEN}       --initial-cluster ${INITIAL_CLUSTER}       --initial-cluster-state ${INITIAL_CLUSTER_STATE}

進入node3,創建并運行run.sh

#!/usr/bin/env bash  #節點名稱  ETCD_NAME=node-3  #本機IP地址  LOCAL_IP=10.211.55.26  #ETCD存儲目錄  ETCD_DATA_DIR=/usr/local/etcd/data  #初始化名稱  INITIAL_CLUSTER_TOKEN=cqh-test-cluster  #初始化群集列表  INITIAL_CLUSTER="node-1=http://10.211.55.2:2380,node-2=http://10.211.55.25:2380,node-3=http://10.211.55.26:2380"  #初始化狀態  INITIAL_CLUSTER_STATE=new    #開始運行  etcd --name ${ETCD_NAME} --data-dir ${ETCD_DATA_DIR}       --initial-advertise-peer-urls http://${LOCAL_IP}:2380       --listen-peer-urls http://${LOCAL_IP}:2380       --listen-client-urls http://${LOCAL_IP}:2379,http://127.0.0.1:2379       --advertise-client-urls http://${LOCAL_IP}:2379       --initial-cluster-token ${INITIAL_CLUSTER_TOKEN}       --initial-cluster ${INITIAL_CLUSTER}       --initial-cluster-state ${INITIAL_CLUSTER_STATE}

我們看到3臺都啟動成功了
從零開始搭建etcd分布式存儲系統+Web管理界面

然后我們在node2上面執行操作

root@Ubuntu:~# etcdctl member list  2033c1336b929ca7: name=node-3 peerURLs=http://10.211.55.26:2380 clientURLs=http://10.211.55.26:2379 isLeader=true  edc51d36208cfbcf: name=node-2 peerURLs=http://10.211.55.25:2380 clientURLs=http://10.211.55.25:2379 isLeader=false  f09a9dba19a725e2: name=node-1 peerURLs=http://10.211.55.2:2380 clientURLs=http://10.211.55.2:2379 isLeader=false

可以看到集群已經生效了,我們再來測試一下,在ndoe2上執行操作

etcdctl set /cqh muscle

看看node1和node3是否能保持數據一致

從零開始搭建etcd分布式存儲系統+Web管理界面

可以看到在node1和node3中都能能夠正確的獲取/cqh的值

四.監聽功能watch演示

  • etcdctl watch key
    觀察一個值的變化,觀察到變化后,打印值并watch退出
    從零開始搭建etcd分布式存儲系統+Web管理界面

  • etcdctl watch key -f
    永久觀察值的變化,觀察到變化后,打印直到Ctrl+C退出
    從零開始搭建etcd分布式存儲系統+Web管理界面
  • etcdctl exec-watch key — sh -c ‘pwd’
    監聽到值有變化,就執行指定的命令(且不退出執行的可以是shell命令)
    從零開始搭建etcd分布式存儲系統+Web管理界面

五.使用rest api

  • 創建鍵值
?  ~ curl http://10.211.55.25:2379/v2/keys/cqh -XPUT -d value="陳瓊和1"  {"action":"set","node":{"key":"/cqh","value":"陳瓊和","modifiedIndex":14,"createdIndex":14},"prevNode":{"key":"/cqh","value":"陳瓊和","modifiedIndex":13,"createdIndex":13}}
  • 創建目錄
?  ~ curl http://10.211.55.25:2379/v2/keys/gym -XPUT -d dir=true  {"action":"set","node":{"key":"/gym","dir":true,"modifiedIndex":12,"createdIndex":12}}
  • 獲取鍵值
?  ~ curl http://10.211.55.25:2379/v2/keys/cqh  {"action":"get","node":{"key":"/cqh","value":"陳瓊和","modifiedIndex":14,"createdIndex":14}}
  • 創建鍵值帶ttl
?  ~ curl http://10.211.55.25:2379/v2/keys/hero -XPUT -d value="超人" -d ttl=5
  • 創建有序鍵值
curl http://10.211.55.25:2379/v2/keys/fitness -XPOST -d value="bench_press"  curl http://10.211.55.25:2379/v2/keys/fitness -XPOST -d value="dead_lift"  curl http://10.211.55.25:2379/v2/keys/fitness -XPOST -d value="deep_squat"

獲取剛創建的fitness

curl http://10.211.55.25:2379/v2/keys/fitness  {"action":"create","node":{"key":"/fitness/00000000000000000020","value":"bench_press","modifiedIndex":20,"createdIndex":20}}  {"action":"create","node":{"key":"/fitness/00000000000000000021","value":"dead_lift","modifiedIndex":21,"createdIndex":21}}  {"action":"create","node":{"key":"/fitness/00000000000000000022","value":"deep_squat","modifiedIndex":22,"createdIndex":22}}  {"action":"get","node":{"key":"/fitness","dir":true,"nodes":[{"key":"/fitness/00000000000000000022","value":"deep_squat","modifiedIndex":22,"createdIndex":22},{"key":"/fitness/00000000000000000020","value":"bench_press","modifiedIndex":20,"createdIndex":20},{"key":"/fitness/00000000000000000021","value":"dead_lift","modifiedIndex":21,"createdIndex":21}],"modifiedIndex":20,"createdIndex":20}}
  • 刪除鍵
curl http://10.211.55.25:2379/v2/keys/cqh -XDELETE
  • 列出所有集群成員
curl http://10.211.55.25:2379/v2/members
  • 統計信息-查看leader
curl http://10.211.55.25:2379/v2/stats/leader
  • 節點自身信息
curl http://10.211.55.26:2379/v2/stats/self
  • 查看集群運行狀態
curl http://10.211.55.26:2379/v2/stats/store

六.搭建WEB界面并使用

這里分別演示搭建etcd-browser和etcdkeeper,兩者功能大同小異,不同的是etcdkeeper支持v3的api

1.搭建etcd-browser

docker run --rm  -d --name etcd-browser   -p 8000:8000   --env ETCD_HOST=10.211.55.25   --env ETCD_PORT=2379   buddho/etcd-browser

運行后訪問http://10.211.55.25:8000/
看到如下界面,可以看到上面添加的所有數據,這里我使用界面添加了漫威和DC的英雄
從零開始搭建etcd分布式存儲系統+Web管理界面

2.搭建etcdkeeper

docker run -it -d --name etcdkeeper   -p 8080:8080   deltaprojects/etcdkeeper

訪問http://10.211.55.25:8080/etcdkeeper/,輸入etcd的地址,看到如下界面
從零開始搭建etcd分布式存儲系統+Web管理界面

到這里,etcd的單機版搭建、集群版、客戶端使用、rest api web管理界面等功能都介紹了,你還在等什么,趕緊high起來

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
国产网站免费在线观看| 久久国产亚洲精品无码| 99精品免费在线观看| 国产av人人夜夜澡人人爽麻豆 | 精品无码av无码免费专区| 日本激情综合网| 大陆极品少妇内射aaaaa| 97国产精东麻豆人妻电影| 大胆欧美熟妇xx| 福利视频一二区| 2018国产在线| 男人搞女人网站| 国产原创精品在线| 91网址在线观看精品| 特级黄色录像片| 欧美在线一区视频| 免费日韩中文字幕| 伊人网在线综合| 玖玖精品在线视频| 欧美 丝袜 自拍 制服 另类| 日日橹狠狠爱欧美超碰| 天天插天天操天天射| 中文字幕国产高清| 日韩久久久久久久久久久久| 国产在线观看福利| 久热精品在线观看视频| 久久久无码中文字幕久...| 国产真人做爰毛片视频直播| 黑森林精品导航| 大胆欧美熟妇xx| av天堂永久资源网| 国产高清免费在线| 国产精品-区区久久久狼| 欧美精品久久久久久久久25p| 蜜桃视频一区二区在线观看| 美女一区二区三区视频| 黄色成人在线免费观看| 日本黄色福利视频| 日韩av综合在线观看| 永久免费黄色片| 蜜臀av午夜一区二区三区| 99精品视频网站| 漂亮人妻被中出中文字幕| 六月婷婷激情网| 看欧美ab黄色大片视频免费 | 成人免费性视频| 手机免费看av网站| 男女午夜激情视频| 免费拍拍拍网站| 51自拍视频在线观看| 校园春色 亚洲色图| 精品视频在线观看一区| 亚洲av综合色区| 91香蕉视频免费看| 污污的网站免费| 亚洲久久中文字幕| 黄色片在线免费| 日本va中文字幕| 久久国产精品视频在线观看| www.男人天堂网| 51xx午夜影福利| 国产日产欧美一区二区| 一级一片免费播放| 在线观看视频在线观看| 香蕉精品视频在线| 日本高清一区二区视频| 日韩成人av免费| 国产xxxxhd| 日本精品福利视频| 青青青在线视频播放| www.国产亚洲| 国产美女在线一区| 国产网站免费在线观看| 激情六月丁香婷婷| 99草草国产熟女视频在线| 天天天干夜夜夜操| 中日韩av在线播放| 青青草影院在线观看| 国产欧美综合一区| 久久久久久www| 国产在线观看福利| 手机免费av片| 亚洲啊啊啊啊啊| 北条麻妃69av| 色乱码一区二区三区在线| 一二三级黄色片| 国产一区 在线播放| 欧美性大战久久久久xxx| 一区二区在线播放视频| 久久久久久综合网| 国产黄色片免费在线观看| 嫩草av久久伊人妇女超级a| 91亚洲精品久久久蜜桃借种| 日韩成人三级视频| 韩国日本在线视频| 99精品视频国产| 妞干网在线视频观看| 午夜国产福利在线观看| av女优在线播放| 亚洲制服中文字幕| 国产男女无遮挡| 狠狠干视频网站| 久久国产色av免费观看| 超碰10000| 中文字幕国产免费| 99热在线这里只有精品| 九九九九九伊人| 99re在线视频免费观看| 国产女主播av| 日韩av一卡二卡三卡| 茄子视频成人免费观看| 黄色三级中文字幕| 欧美三级午夜理伦三级富婆| 霍思燕三级露全乳照| 乱子伦一区二区| 色婷婷激情视频| www亚洲成人| 凹凸国产熟女精品视频| 国产 欧美 日本| 性做爰过程免费播放| 欧美日韩精品区别| 无人在线观看的免费高清视频 | 日日噜噜噜噜久久久精品毛片| 欧美日韩午夜爽爽| 日日干日日操日日射| 天天视频天天爽| 一区二区三区视频在线观看免费| 国产乱子夫妻xx黑人xyx真爽| 一本久道高清无码视频| 国产一级做a爰片久久毛片男| 亚洲在线观看网站| 毛片毛片毛片毛| 日本网站在线看| 亚洲国产午夜精品| 91免费视频黄| 成人小视频在线观看免费| 国产人妻人伦精品| 99热这里只有精品免费| 丝袜人妻一区二区三区| 免费一级特黄特色毛片久久看| 好吊妞无缓冲视频观看| 蜜臀av午夜一区二区三区| 在线观看的毛片| 日本高清一区二区视频| 大片在线观看网站免费收看| 小泽玛利亚av在线| 国产97在线 | 亚洲| 日本黄色三级大片| 中文字幕精品一区二区三区在线| 三日本三级少妇三级99| 日韩网站在线免费观看| 欧美三级午夜理伦三级| 91小视频在线播放| 男人的天堂avav| 99热成人精品热久久66| 艹b视频在线观看| 午夜探花在线观看| 国内外成人激情视频| 伊人成人222| 免费在线黄网站| 艹b视频在线观看| 国产日韩亚洲欧美在线| 欧美伦理片在线看| 特级西西人体www高清大胆| av天堂永久资源网| 中文字幕第50页| 人妻无码视频一区二区三区| mm131午夜| 自拍偷拍一区二区三区四区 | 成人中文字幕av| 400部精品国偷自产在线观看| 免费在线a视频| 黄色一级大片免费| 香港日本韩国三级网站| 国产h视频在线播放| 超碰成人在线播放| 一本色道无码道dvd在线观看| 日本老太婆做爰视频| 亚洲人辣妹窥探嘘嘘| 狠狠干 狠狠操| 亚洲第一综合网站| www.日本一区| 牛夜精品久久久久久久| 欧美黄网站在线观看| 国产精品成人久久电影| 日本a级片在线播放| 在线视频观看91| 中文字幕第88页| 国产区二区三区| 在线免费观看视频黄| 国产麻花豆剧传媒精品mv在线| 国产一区二区四区| 在线观看av的网址| 法国空姐在线观看免费| 亚洲欧美日韩一二三区| 中文字幕第一页在线视频| 伊人色在线视频| 免费看啪啪网站| 日本xxx免费| 97干在线视频|