「Etcd」:修訂間差異

出自Gea-Suan Lin's Wiki
跳至導覽 跳至搜尋
本頁面具有訪問限制。如果您看見此訊息,這代表您沒有訪問本頁面的權限。
行 47: 行 47:
</syntaxhighlight>
</syntaxhighlight>


 另外建立<code>/etc/default/etcd</code>(要記得改<code>ETCD_NAME</code>):
 另外建立<code>/etc/default/etcd</code>(要記得改<code>ETCD_INITIAL_ADVERTISE_PEER_URLS</code>與<code>ETCD_NAME</code>):


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
#
#
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.1.2.3:2380"
ETCD_INITIAL_CLUSTER="etcd-1-dev=http://10.1.2.3:2380,etcd-2-dev=http://10.1.2.4:2380,etcd-3-dev=http://10.1.2.5:2380"
ETCD_INITIAL_CLUSTER="etcd-1-dev=http://10.1.2.3:2380,etcd-2-dev=http://10.1.2.4:2380,etcd-3-dev=http://10.1.2.5:2380"
ETCD_INITIAL_CLUSTER_STATE="new"
ETCD_INITIAL_CLUSTER_STATE="new"

於 2023年9月22日 (五) 09:51 的修訂

etcd是一套提供給分散式系統用的Key-Value Store。

安裝

Ubuntu下可以直接安裝,但要注意目前Ubuntu 22.04還是3.3版,預設會是v2 data,在3.4以後就會是v3 data,會有轉移的成本:

sudo apt install -y etcd; sudo apt clean

另外一種方式是安裝官方的binary:

cd /tmp; wget https://github.com/etcd-io/etcd/releases/download/v3.5.9/etcd-v3.5.9-linux-amd64.tar.gz; tar xvf etcd-v3.5.9-linux-amd64.tar.gz; cd etcd-v3.5.9-linux-amd64; sudo cp etcd etcdctl etcdutl /usr/bin

設定

如果是Ubuntu套件安裝的可以先跳過這段,如果是透過binary安裝的可以把systemd的設定放在/etc/systemd/system/etcd.service下(這其實是從Ubuntu套件裡撈出來的):

[Unit]
Description=etcd - highly-available key value store
Documentation=https://etcd.io/docs
Documentation=man:etcd
After=network.target
Wants=network-online.target

[Service]
Environment=DAEMON_ARGS=
Environment=ETCD_NAME=%H
Environment=ETCD_DATA_DIR=/var/lib/etcd/default
EnvironmentFile=-/etc/default/%p
Type=notify
User=etcd
PermissionsStartOnly=true
#ExecStart=/bin/sh -c "GOMAXPROCS=$(nproc) /usr/bin/etcd $DAEMON_ARGS"
ExecStart=/usr/bin/etcd $DAEMON_ARGS
Restart=on-abnormal
#RestartSec=10s
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
Alias=etcd2.service

另外建立/etc/default/etcd(要記得改ETCD_INITIAL_ADVERTISE_PEER_URLSETCD_NAME):

#
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.1.2.3:2380"
ETCD_INITIAL_CLUSTER="etcd-1-dev=http://10.1.2.3:2380,etcd-2-dev=http://10.1.2.4:2380,etcd-3-dev=http://10.1.2.5:2380"
ETCD_INITIAL_CLUSTER_STATE="new"
ETCD_NAME="etcd-1-dev"

然後建立對應的使用者與群組:

sudo groupadd -r etcd; sudo useradd -r -g etcd etcd; sudo mkdir /var/lib/etcd; sudo chown etcd:etcd /var/lib/etcd; sudo systemctl daemon-reload; sudo systemctl enable --now etcd

相關連結

外部連結