部署etcd
下载etcd二进制文件
curl -fsSL https://mirror.azure.cn/kubernetes/etcd/etcd-v3.3.10-linux-amd64.tar.gz -o etcd-v3.3.10-linux-amd64.tar.gz
tar -xf etcd-v3.3.10-linux-amd64.tar.gz
复制etcd
、etcdctl
两个二进制文件到各个etcd
节点的/usr/local/bin
目录
准备system service启动文件和配置文件
准备system service启动文件
# 在个etcd节点执行
cat > /etc/systemd/system/etcd.service <<EOF
[Unit]
Description=etcd key-value store
Documentation=https://github.com/etcd-io/etcd
After=network.target
[Service]
Type=notify
ExecStart=/usr/local/bin/etcd --config-file=/etc/etcd/etcd.conf.yml
Restart=always
RestartSec=10s
LimitNOFILE=40000
[Install]
WantedBy=multi-user.target
EOF
准备配置文件
# 在个etcd节点执行
mkdir -p /var/lib/etcd
mkdir -p /etc/etcd
# etcd_node_name为当前etcd节点的node name,当前etcd1,两外两天分别是etcd2、etcd3
# etcd_node_ip为当前etcd节点IP
etcd_node_name=etcd1
etcd_node_ip=172.16.16.112
etcd1_ip=172.16.16.112
etcd2_ip=172.16.16.113
etcd3_ip=172.16.16.114
cat > /etc/etcd/etcd.conf.yml << EOF
name: '${etcd_node_name}'
data-dir: /var/lib/etcd
wal-dir: /var/lib/etcd/member/wal
snapshot-count: 10000
heartbeat-interval: 100
election-timeout: 1000
quota-backend-bytes: 0
listen-peer-urls: https://${etcd_node_ip}:2380
listen-client-urls: https://${etcd_node_ip}:2379
max-snapshots: 5
max-wals: 5
cors:
initial-advertise-peer-urls: https://${etcd_node_ip}:2380
advertise-client-urls: https://${etcd_node_ip}:2379
discovery:
discovery-fallback: 'proxy'
discovery-proxy:
discovery-srv:
initial-cluster: etcd1=https://${etcd1_ip}:2380,etcd2=https://${etcd2_ip}:2380,etcd3=https://${etcd3_ip}:2380
initial-cluster-token: 'etcd-cluster'
initial-cluster-state: 'new'
strict-reconfig-check: false
enable-v2: true
enable-pprof: true
proxy: 'off'
proxy-failure-wait: 5000
proxy-refresh-interval: 30000
proxy-dial-timeout: 1000
proxy-write-timeout: 5000
proxy-read-timeout: 0
client-transport-security:
cert-file: '/etc/kubernetes/pki/etcd/server.crt'
key-file: '/etc/kubernetes/pki/etcd/server.key'
client-cert-auth: true
trusted-ca-file: '/etc/kubernetes/pki/etcd/ca.crt'
auto-tls: false
peer-transport-security:
cert-file: '/etc/kubernetes/pki/etcd/peer.crt'
key-file: '/etc/kubernetes/pki/etcd/peer.key'
client-cert-auth: true
trusted-ca-file: '/etc/kubernetes/pki/etcd/ca.crt'
auto-tls: false
debug: false
log-outputs: default
force-new-cluster: false
EOF
启动etcd
systemctl daemon-reload
systemctl start etcd