部署etcd简易教程

March 30, 2017
etcd

下载二进制文件

DOWNLOAD_URL=https://storage.googleapis.com/etcd  #etcd存储地址

ETCD_VER=v3.1.5  #设置etcd版本号

wget ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz

tar xvf etcd-${ETCD_VER}-linux-amd64.tar.gz

部署文件

将如下内容写入文件 /etc/etcd/etcd.conf 中:


# [member]

ETCD_NAME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"

# ETCD_WAL_DIR=""

# ETCD_SNAPSHOT_COUNT="10000"

# ETCD_HEARTBEAT_INTERVAL="100"

# ETCD_ELECTION_TIMEOUT="1000"

# ETCD_LISTEN_PEER_URLS="http://localhost:2380"

ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"

# ETCD_MAX_SNAPSHOTS="5"

# ETCD_MAX_WALS="5"

# ETCD_CORS=""

#

# [cluster]

# ETCD_INITIAL_ADVERTISE_PEER_URLS="http://localhost:2380"

# if you use different ETCD_NAME (e.g. test), set ETCD_INITIAL_CLUSTER value for this name, i.e. "test=http://..."

# ETCD_INITIAL_CLUSTER="default=http://localhost:2380"

# ETCD_INITIAL_CLUSTER_STATE="new"

# ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"

ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"

# ETCD_DISCOVERY=""

# ETCD_DISCOVERY_SRV=""

# ETCD_DISCOVERY_FALLBACK="proxy"

# ETCD_DISCOVERY_PROXY=""

#

# [proxy]

# ETCD_PROXY="off"

# ETCD_PROXY_FAILURE_WAIT="5000"

# ETCD_PROXY_REFRESH_INTERVAL="30000"

# ETCD_PROXY_DIAL_TIMEOUT="1000"

# ETCD_PROXY_WRITE_TIMEOUT="5000"

# ETCD_PROXY_READ_TIMEOUT="0"

#

# [security]

# ETCD_CERT_FILE=""

# ETCD_KEY_FILE=""

# ETCD_CLIENT_CERT_AUTH="false"

# ETCD_TRUSTED_CA_FILE=""

# ETCD_PEER_CERT_FILE=""

# ETCD_PEER_KEY_FILE=""

# ETCD_PEER_CLIENT_CERT_AUTH="false"

# ETCD_PEER_TRUSTED_CA_FILE=""

# [logging]

# ETCD_DEBUG="false"

# examples for -log-package-levels etcdserver=WARNING,security=DEBUG

# ETCD_LOG_PACKAGE_LEVELS=""

将 etcd, etcdctl放入 /usr/bin/下,并将如下内容写进/usr/lib/systemd/system/etcd.service文件

[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
WorkingDirectory=/var/lib/etcd/
EnvironmentFile=-/etc/etcd/etcd.conf
User=etcd
# set GOMAXPROCS to number of processors
ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd --name=\"${ETCD_NAME}\" --data-dir=\"${ETCD_DATA_DIR}\" --listen-client-urls=\"${ETCD_LISTEN_CLIENT_URLS}\""
Restart=on-failure
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

启动并校验

systemctl start etcd

systemctl enable etcd

systemctl status etcd

etcdctl ls

集群

若要部署多节点集群也比较简单,只要更改etcd.conf文件以及etcd.service添加相应配置即可

可以参考链接:https://github.com/coreos/etcd/blob/master/Documentation/op-guide/clustering.md

comments powered by Disqus