大体分两种情况:
- 1.防火墙或者iptables的原因.
- 2.etcd 配置错误.
解决措施
第一种情况比较好解决:开放对应端口/应用白名单,或者直接关闭防火墙
第二种就需要参考官方指导,搞明白每个设置项的功能.
放个Ubuntu16.04的示例,CentOS的改一下依赖的network名称就可以:
[Unit]
Description=etcd - highly-available key value store
Documentation=https://github.com/coreos/etcd
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
WorkingDirectory=/var/lib/etcd/
PermissionsStartOnly=true
#ExecStart=/bin/sh -c "GOMAXPROCS=$(nproc) /usr/bin/etcd $DAEMON_ARGS"
#ExecStart=/usr/bin/etcd $DAEMON_ARGS
ExecStart=/usr/bin/etcd \
--name=etcd2 \
--cert-file=/etc/kubernetes/ssl/etcd.pem \
--key-file=/etc/kubernetes/ssl/etcd-key.pem \
--peer-cert-file=/etc/kubernetes/ssl/etcd.pem \
--peer-key-file=/etc/kubernetes/ssl/etcd-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.1.220:2380 \
--listen-peer-urls=https://0.0.0.0:2380 \
--listen-client-urls=https://0.0.0.0:2379 \
--advertise-client-urls=https://192.168.1.220:2379 \
--initial-cluster-token=k8s-etcd-cluster \
--initial-cluster=etcd2=https://192.168.1.220:2380 \
--initial-cluster-state=new \
--data-dir=/var/lib/etcd
Restart=on-abnormal
RestartSec=5s
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
Alias=etcd2.service