「Etcd」:修訂間差異
跳至導覽
跳至搜尋
第14行: | 第14行: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
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 | 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 | ||
</syntaxhighlight> | |||
== 設定 == | |||
如果是[[Ubuntu]]套件安裝的可以先跳過這段,如果是透過binary安裝的可以把[[systemd]]的設定放在<code>/etc/systemd/system/etcd.service</code>下(這其實是從Ubuntu套件裡撈出來的): | |||
<syntaxhighlight lang="ini"> | |||
[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 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
於 2023年9月22日 (五) 09:19 的修訂
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