0%

Linux下安装ETCD

version 3.2.15

下载安装包

wget https://github.com/coreos/etcd/releases/download/v3.2.15/etcd-v3.2.15-linux-arm64.tar.gz

设置etcd和etcdctl

1
2
3
4
5
6
tar -xzvf etcd-v3.2.15-linux-arm64.tar.gz
cd etcd-v3.2.15-linux-arm64
cp etcd etcdctl /usr/bin
chmod +x /usr/bin/etcd
chmod +x /usr/bin/etcdctl
sudo mkdir /var/lib/etcd

设置etcd.service文件

vim /lib/systemd/system/etcd.service

1
2
3
4
5
6
7
8
9
10
11
12
13
[Unit]
Description=Etcd Server
After=network.target

[Service]
#Type=simple
Type=notify
WorkingDirectory=/var/lib/etcd/
EnvironmentFile=-/etc/default/etcd
ExecStart=/usr/bin/etcd

[Install]
WantedBy=multi-user.target

设置自定义配置文件

vim /etc/default/etcd

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# [member]
ETCD_NAME="etcd1"
# etcd数据保存目录
ETCD_DATA_DIR="/var/lib/etcd"
# 供外部客户端使用的URL
ETCD_LISTEN_CLIENT_URLS="https://192.168.31.189:2379,http://127.0.0.1:2379"
# 广播给外部客户端使用的URL
ETCD_ADVERTISE_CLIENT_URLS="https://192.168.31.189:2379,http://127.0.0.1:2379"
# [cluster]
# 集群内部通信使用的URL
ETCD_LISTEN_PEER_URLS="https://192.168.31.189:2380"
# 广播给集群内其他成员访问的URL
ETCD_INITIAL_ADVERTISE_PEER_URLS="https://192.168.31.189:2380"
# 初始集群成员列表
ETCD_INITIAL_CLUSTER="etcd1=https://192.168.31.189:2380"
# 初始集群状态,new为新建集群
ETCD_INITIAL_CLUSTER_STATE="new"
# 集群名称
ETCD_INITIAL_CLUSTER_TOKEN="wb"
ETCD_CERT_FILE=/srv/kubernetes/ssl/etcd.pem
ETCD_KEY_FILE=/srv/kubernetes/ssl/etcd-key.pem
ETCD_TRUSTED_CA_FILE=/srv/kubernetes/ssl/ca.pem
ETCD_CLIENT_CERT_AUTH=true
ETCD_PEER_CERT_FILE=/srv/kubernetes/ssl/etcd.pem
ETCD_PEER_KEY_FILE=/srv/kubernetes/ssl/etcd-key.pem
ETCD_TRUSTED_CA_FILE=/srv/kubernetes/ssl/ca.pem
ETCD_PEER_CLIENT_CERT_AUTH=true

拷贝证书文件

1
2
3
cd /data/certs/
mkdir -p /srv/kubernetes/ssl
cp ca* etcd* /srv/kubernetes/ssl/

启动etcd服务

1
2
3
sudo systemctl daemon-reload
sudo systemctl enable etcd.service
sudo systemctl start etcd.service