部署etcd的幾種方法

簡介

etcd內部採用raft協議作為一致性算法,採用Go語言實現。

etcd是用於分佈式系統中最關鍵數據的分佈式可靠鍵值存儲,特點:

  • 簡單:安裝配置簡單,使用也很簡單
  • 安全:支持TLS證書驗證
  • 快速:根據官方提供的benchmark數據,單實例支持每秒10, 000次寫入
  • 可靠:採用raft算法,實現分佈式系統數據的可用性和一致性

etcd項目地址:https://github.com/etcd-io/etcd/


centos7 - 部署etcd的幾種方法


使用yum安裝

在CentOS上就對應的軟件包

<code>yum -y install etcd
/<code>

目前罪行版本是3.3的版本。

啟動服務和開機啟動服務

<code>systemctl start etcd
systemctl enable etcd
/<code>

二進制安裝


centos7 - 部署etcd的幾種方法

在官方release頁面可以找到對應的安裝腳本,只需要稍微修改一下即可

<code>ETCD_VER=v3.4.4
# choose either URL
MIRROR_URL=https://mirrors.huaweicloud.com/etcd/

DOWNLOAD_URL=${MIRROR_URL}

rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz

rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test

curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz

tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1

rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz

mv /tmp/etcd-download-test /usr/local/etcd

/usr/local/etcd/etcd --version

/usr/local/etcd/etcdctl version

/<code>

啟動測試

<code># start a local etcd server
/usr/local/etcd/etcd

# write,read to etcd
/usr/local/etcd/etcdctl --endpoints=localhost:2379 put foo bar

/usr/local/etcd/etcdctl --endpoints=localhost:2379 get foo
/<code>

docker部署


centos7 - 部署etcd的幾種方法

最方便的就是使用docker進行部署的,適合用於測試

<code>docker pull quay.io/coreos/etcd

docker run -d -p 2379:2379 -p 2380:2380 --name etcd quay.io/coreos/etcd
/<code>

測試

<code>docker exec etcd /bin/sh -c "/usr/local/bin/etcd --version"

docker exec etcd /bin/sh -c "export ETCDCTL_API=3 ; /usr/local/bin/etcdctl version"

docker exec etcd /bin/sh -c "export ETCDCTL_API=3 ; /usr/local/bin/etcdctl endpoint health"

docker exec etcd /bin/sh -c "export ETCDCTL_API=3 ; /usr/local/bin/etcdctl put foo bar"

docker exec etcd /bin/sh -c "export ETCDCTL_API=3 ; /usr/local/bin/etcdctl get foo"
/<code>


分享到:


相關文章: