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 --versionetcd Version: 3.4.15Git SHA: aa7126864Go Version: go1.12.17Go OS/Arch: linux/amd64# ./flanneld --versionv0.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/configETCDCTL_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/configETCDCTL_API=2 ./etcdctl rm /coreos.com/network/subnets/172.16.27.0-24ETCDCTL_API=2 ./etcdctl rm /coreos.com/network/subnets/172.16.56.0-24ETCDCTL_API=2 ./etcdctl rmdir /coreos.com/network/subnets

3, 删除路由表

route del -net 172.16.88.0/24 gw 172.16.88.1

4, 删除 flannel 程序包

©著作权归作者所有:来自51CTO博客作者铁血军人的原创作品,如需转载,请注明出处,否则将追究法律责任

如果文章对你有帮助,请赞赏

赞赏

0人进行了赞赏支持

更多相关文章

  1. ELK 之 elasticsearch集群安装
  2. 在K8S集群中搭建REDIS集群搭配CEPH存储
  3. Yarn【label-based scheduling】实战总结(二)
  4. 大数据基础系列之提交spark应用及依赖管理
  5. Unexpected token '...'. Expected a property name解决
  6. Unexpected token '...'. Expected a property name解决
  7. Linux磁盘空间释放问题
  8. ZooKeeper原理详解及常用操作
  9. C数组实现静态链表及常用操作(模拟无指针编程语言数组实现链表)

随机推荐

  1. 关于JavaScript方法,设置GridView中首项Ch
  2. 前端省市区(县)三级联动下拉框
  3. 在Internet Explorer中使用sprited按钮和
  4. touchableopacity onpress函数undefined(
  5. 将textarea值附加到现有数组javascript
  6. javascript 截取字符串方法汇总
  7. Javascript中的素数函数...多个语句
  8. [Effective JavaScript 笔记]第65条:不要
  9. 如何在chart.js中为饼图添加标签
  10. 禁用Chrome严格的MIME类型检查