关闭

部署kubernetes出现“etcd cluster is unavailable or misconfigured”错误

标签: kubernetes
9385人阅读 评论(2) 收藏 举报
分类:

问题


在OpenStack平台的虚拟机上使用Kubernetes搭建一个容器集群,一个Master节点(10.0.0.3/172.18.228.32),两个Node节点(10.0.0.4/172.18.228.33和10.0.0.5/172.18.228.34)。这里直接使用官方的脚本在Ubuntu 14.04.1 server裸机上进行搭建。配置文件config-default.sh如下:

 export nodes=${nodes:-"vinzor@172.18.228.32 vinzor@172.18.228.33 vinzor@172.18.228.34"}
 role=${roles:-"a i i"}
 export NUM_NODES=${NUM_NODES:-2}
 export SERVICE_CLUSTER_IP_RANGE=${SERVICE_CLUSTER_IP_RANGE:-192.168.3.0/24}
 export FLANNEL_NET=${FLANNEL_NET:-172.16.0.0/16}

使用kube-up.sh进行部署,出现了如下错误:

Error:  client: etcd cluster is unavailable or misconfigured
error #0: dial tcp 127.0.0.1:4001: getsockopt: connection refused
error #1: dial tcp 127.0.0.1:2379: getsockopt: connection refused

解决方案


一开始以为是Etcd进程的问题,以为不兼容就各种切换版本,而且修改utils.sh中etcd的启动配置,始终不能解决问题。
经过多次调试(这里就不说详细过程误导大家了,总之一把鼻滴一把泪),总算找出了问题。这里在部署的时候配置文件使用的是每个节点的floating IP,floating IP相当于OpenStack平台为每一个虚拟机分配的一个外部IP,这个IP并不是实际配置在虚拟机的网卡上的,而是通过OpenStack平台中的Iptables实现。我们这里使用floating IP进行部署,导致Etcd进程在进行同步的时候出现连接不上的问题,以致部署失败。

我们将配置文件改为使用实际配置在虚拟机网卡上的内部IP,如下:

export nodes=${nodes:-"vinzor@10.0.0.3 vinzor@10.0.0.4 vinzor@10.0.0.5"}
role=${roles:-"a i i"}
export NUM_NODES=${NUM_NODES:-2}
export SERVICE_CLUSTER_IP_RANGE=${SERVICE_CLUSTER_IP_RANGE:-192.168.3.0/24}
export FLANNEL_NET=${FLANNEL_NET:-172.16.0.0/16}

此时再使用kube-up.sh即可成功部署。

0
1

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:719308次
    • 积分:5257
    • 等级:
    • 排名:第5808名
    • 原创:82篇
    • 转载:44篇
    • 译文:1篇
    • 评论:91条
    最新评论