标签:Couldn etcdctl network 报错 coreos etcd com flannel
k8s 集群部署 flannel 报错
查看 flannel 日志报错如下:
Couldn't fetch network config: client: response is invalid json. The endpoint is probably not valid etcd cluster endpoint. timed out
无法获取网络配置:客户端:响应无效json。端点可能不是有效的etcd集群端点。 计时结束
然后检查 etcd 和 flannel 版本
# ./etcd --version
etcd Version: 3.4.15
Git SHA: aa7126864
Go Version: go1.12.17
Go OS/Arch: linux/amd64
# ./flanneld --version
v0.11.0
然后查阅 flanneld 官网文档,上面标准了 flannel 这个版本不能给 etcd 3 进行通信,所以才造成了上面的问题,下面进行如下操作
1,停止 flannel
使用自己的方法停止,
2,删除 etcd 里面刚才创建的 key
# etcdctl get --prefix /coreos.com
# etcdctl del /coreos.com/network
3, 开启 etcd v2 API 接口
在 etcd 启动命令里面添加上如下内容,然后重启 etcd 集群
--enable-v2
4, 使用 etcd v2 去创建 flannel 的网络配置
ETCDCTL_API=2 ./etcdctl set /coreos.com/network/config '{"Network": "172.16.0.0/16", "Backend": {"Type": "host-gw"}}'
5,然后启动 flannel 服务
6,查看 etcd 里面的数据是否正确
ETCDCTL_API=2 ./etcdctl ls /coreos.com/
ETCDCTL_API=2 ./etcdctl ls /coreos.com/network/config
ETCDCTL_API=2 ./etcdctl ls /coreos.com/network/subnets
检查得到的结果是不是给你的 subnet.env 里面配置的网络在同一网段,如果是检查路由表,查看是否自动添加路由
route -n
扩展: 卸载删除 flannel 网络插件
1,停止 flannel 网络插件
2, 删除 etcdctl 里面的内容
ETCDCTL_API=2 ./etcdctl rm /coreos.com/network/config
ETCDCTL_API=2 ./etcdctl rm /coreos.com/network/subnets/172.16.27.0-24
ETCDCTL_API=2 ./etcdctl rm /coreos.com/network/subnets/172.16.56.0-24
ETCDCTL_API=2 ./etcdctl rmdir /coreos.com/network/subnets
3, 删除路由表
route del -net 172.16.88.0/24 gw 172.16.88.1
4, 删除 flannel 程序包
标签:Couldn,etcdctl,network,报错,coreos,etcd,com,flannel 来源: https://blog.51cto.com/13447608/2662550
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。