etcd cluster-health响应client: etcd cluster is unavailable or misconfigured解决记录

大体分两种情况:

  • 1.防火墙或者iptables的原因.

  • 2.etcd 配置错误.

解决措施

第一种情况比较好解决:开放对应端口/应用白名单,或者直接关闭防火墙

第二种就需要参考官方指导,搞明白每个设置项的功能.

放个Ubuntu16.04的示例,CentOS的改一下依赖的network名称就可以,192.168.1.220替换为本机IP:

[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/etcdDAEMON_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