安装etcd
在etcd-1、etcd-2、etcd-3安装etcd
yum install -y etcd
修改配置文件
在etcd-1
$ cat > /usr/lib/systemd/system/etcd.service <<EOF
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target
Documentation=https://github.com/coreos
[Service]
Type=notify
WorkingDirectory=/var/lib/etcd/
EnvironmentFile=-/etc/etcd/etcd.conf
User=etcd
ExecStart=/usr/bin/etcd \
--name=etcd-1 \
--cert-file=/etc/kubernetes/ssl/kubernetes.pem \
--key-file=/etc/kubernetes/ssl/kubernetes-key.pem \
--peer-cert-file=/etc/kubernetes/ssl/kubernetes.pem \
--peer-key-file=/etc/kubernetes/ssl/kubernetes-key.pem \
--trusted-ca-file=/etc/kubernetes/ssl/ca.pem \
--peer-trusted-ca-file=/etc/kubernetes/ssl/ca.pem \
--initial-advertise-peer-urls=https://192.168.19.101:2380 \
--listen-peer-urls=https://192.168.19.101:2380 \
--listen-client-urls=https://192.168.19.101:2379,https://127.0.0.1:2379 \
--advertise-client-urls=https://192.168.19.101:2379 \
--initial-cluster-token=etcd-cluster-0 \
--initial-cluster=etcd-1=https://192.168.19.101:2380,etcd-2=https://192.168.19.102:2380,etcd-3=https://192.168.19.103:2380 \
--initial-cluster-state new \
--data-dir=/opt/etcd
Restart=on-failure
RestartSec=5
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
EOF
$ systemctl daemon-reload && systemctl start etcd && systemctl enable etcd
在etcd-2
$ cat > /usr/lib/systemd/system/etcd.service <<EOF
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target
Documentation=https://github.com/coreos
[Service]
Type=notify
WorkingDirectory=/var/lib/etcd/
EnvironmentFile=-/etc/etcd/etcd.conf
User=etcd
ExecStart=/usr/bin/etcd \
--name=etcd-2 \
--cert-file=/etc/kubernetes/ssl/kubernetes.pem \
--key-file=/etc/kubernetes/ssl/kubernetes-key.pem \
--peer-cert-file=/etc/kubernetes/ssl/kubernetes.pem \
--peer-key-file=/etc/kubernetes/ssl/kubernetes-key.pem \
--trusted-ca-file=/etc/kubernetes/ssl/ca.pem \
--peer-trusted-ca-file=/etc/kubernetes/ssl/ca.pem \
--initial-advertise-peer-urls=https://192.168.19.102:2380 \
--listen-peer-urls=https://192.168.19.102:2380 \
--listen-client-urls=https://192.168.19.102:2379,https://127.0.0.1:2379 \
--advertise-client-urls=https://192.168.19.102:2379 \
--initial-cluster-token=etcd-cluster-0 \
--initial-cluster=etcd-1=https://192.168.19.101:2380,etcd-2=https://192.168.19.102:2380,etcd-3=https://192.168.19.103:2380 \
--initial-cluster-state=new \
--data-dir=/opt/etcd
Restart=on-failure
RestartSec=5
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
EOF
$ systemctl daemon-reload && systemctl start etcd && systemctl enable etcd
在etcd-3
$ cat > /usr/lib/systemd/system/etcd.service <<EOF
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target
Documentation=https://github.com/coreos
[Service]
Type=notify
WorkingDirectory=/var/lib/etcd/
EnvironmentFile=-/etc/etcd/etcd.conf
User=etcd
ExecStart=/usr/bin/etcd \
--name=etcd-3 \
--cert-file=/etc/kubernetes/ssl/kubernetes.pem \
--key-file=/etc/kubernetes/ssl/kubernetes-key.pem \
--peer-cert-file=/etc/kubernetes/ssl/kubernetes.pem \
--peer-key-file=/etc/kubernetes/ssl/kubernetes-key.pem \
--trusted-ca-file=/etc/kubernetes/ssl/ca.pem \
--peer-trusted-ca-file=/etc/kubernetes/ssl/ca.pem \
--initial-advertise-peer-urls=https://192.168.19.103:2380 \
--listen-peer-urls=https://192.168.19.103:2380 \
--listen-client-urls=https://192.168.19.103:2379,https://127.0.0.1:2379 \
--advertise-client-urls=https://192.168.19.103:2379 \
--initial-cluster-token=etcd-cluster-0 \
--initial-cluster=etcd-1=https://192.168.19.101:2380,etcd-2=https://192.168.19.102:2380,etcd-3=https://192.168.19.103:2380 \
--initial-cluster-state=new \
--data-dir=/opt/etcd
Restart=on-failure
RestartSec=5
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
EOF
$ systemctl daemon-reload && systemctl start etcd && systemctl enable etcd
验证集群是否正常
$ etcdctl
--endpoints=https://192.168.19.101:2379
--ca-file=/etc/kubernetes/ssl/ca.pem
--cert-file=/etc/kubernetes/ssl/kubernetes.pem
--key-file=/etc/kubernetes/ssl/kubernetes-key.pem
cluster-health
member 9a3dda073fd9415e is healthy: got healthy result from https://192.168.19.103:2379
member bc7b50a2ad0b8b04 is healthy: got healthy result from https://192.168.19.102:2379
member f5f7b991fb69b9ff is healthy: got healthy result from https://192.168.19.101:2379