具有新etcd卷的新主服务器不加入集群

时间:2018-10-03 00:04:42

标签: kubernetes kubectl coreos etcd kops

我正在使用KOPS,并且我有一个包含3个主服务器的集群。我删除了一个主磁盘和磁盘(根磁盘和etcd磁盘(主磁盘和事件磁盘))。

现在,kops重新创建了该主服务器和磁盘,但是此新的主节点无法加入集群。 kube-apiserver上的错误消息是

controller.go:135] Unable to perform initial IP allocation check: unable to refresh the service IP block: client: etcd cluster is unavailable or misconfigured; error #0: dial tcp 127.0.0.1:4001: getsockopt: connection refused

有什么主意吗?

2 个答案:

答案 0 :(得分:1)

您的etcd服务器似乎已在该主机上关闭。它可能无法与其他主服务器上的etcd服务器同步。

您可以像这样检查:

$ sudo docker ps | grep etcd

如果您没有看到任何内容,则说明已失败。然后,您可以检查“已退出” etcd容器的日志:

$ sudo docker ps -a | grep Exited | grep etcd
$ sudo docker logs <etcd-container-id>

还要检查etcd/etc/kuberbetes/manifests/kube-apiserver.yaml的kube-apiserver选项是否正常

答案 1 :(得分:1)

问题已解决。

1-我使用etcdctl从de etcd集群中删除了旧的master。您需要在etcd-server容器上进行连接。

2-在新的主节点上,我停止了kubelet和protokube服务。

3-空Etcd数据目录。 (数据和数据事件)

4-编辑/etc/kubernetes/manifests/etcd.manifests和etcd-events.manifest,将ETCD_INITIAL_CLUSTER_STATE从新更改为现有。

5-从新的主服务器获取名称和PeerURLS,并使用etcdctl在群集上添加新的主服务器。 (etcdctl成员添加“名称”“ PeerULR”)您需要在etcd-server容器上进行连接。

6-在新的主服务器上启动kubelet和protokube服务。