当前位置: 首页 > news >正文

安装Kubernetes的坑 ---- Flanneld

说明:
不讲怎么安装,就讲在配置的时候出现的一些问题以及解决办法。
systemd unit 样例文件内容:
[Unit]
Description=Flanneld overlay address etcd agent
After=network.target
After=network-online.target
Wants=network-online.target
After=etcd.service
Before=docker.service

[Service]
Type=notify
ExecStart=/usr/local/bin/flanneld \
-etcd-cafile=/etc/kubernetes/cert/ca.pem \
-etcd-certfile=/etc/flanneld/cert/flanneld.pem \
-etcd-keyfile=/etc/flanneld/cert/flanneld-key.pem \
-etcd-endpoints=${ETCD_ENDPOINTS} \
-etcd-prefix=${FLANNEL_ETCD_PREFIX}
ExecStartPost=/usr/local/bin/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/docker
Restart=on-failure

~~[Install]
WantedBy=multi-user.target
RequiredBy=docker.service

注:标注了删除线的配置基本上是一致的,基本上不会有其他的问题。仅仅说service的一些;
简单的参数说明:
ExecStart flanneld 的二进制文件路径
-etcd-cafile :Kubernetes认证的CA证书的文件目录
-etcd-certfile:Flanneld认证的私钥
-etcd-keyfile:Flanneld认证的公钥
-etcd-endpoints:Etcd集群的相关信息,格式如: -etcd-endpoints=http://172.16.3.153:2379,http://172.16.3.151:2379,http://172.16.3.152:2379
-etcd-prefix:存放flanneld配置文件的Etcd存储中的路径

问题1: Failed to create SubnetManager: parse 172.16.3.153:2379: first path segment in URL cannot contain
解释:这个问题是我在新增节点的时候出现的问题,配置了的flanneld后,进行启动,但是发现启动失败;
解决办法:由于我新建unit文件的时候,etcd集群列表写的与前面几台服务器的顺序不一样造成的,将错误的列表修改成跟前面节点一致的顺序,问题解决;

原有flanneld 配置:etcd: -etcd-endpoints=http://172.16.3.153:2379,http://172.16.3.151:2379,http://172.16.3.152:2379
新增flanneld配置:etcd: -etcd-endpoints=http://172.16.3.151:2379,http://172.16.3.152:2379,http://172.16.3.153:2379
配置成这样,就会报错,所以需要把新增节点的flanneld的配置修改成跟原有的一致,就可以了

问题2: Failed to create SubnetManager: parse "
解释:这个问题是由于 -etcd-endpoints= 后面的参数用了"" 包括起来的原因;
解决办法: 把 "" 去掉,问题就解决了

转载于:https://blog.51cto.com/agent/2327521

相关文章:

  • 简单类型和对象的区别
  • Java基础之关键字
  • 作用域和名称空间
  • 云主机文件系统readonly处理案例
  • STM8S003F3通过PWM波实现三基色呼吸灯(转)
  • 前端技术周刊 2018-12-10:前端自动化测试
  • puppet连载22:define用法
  • Django2.0——请求与响应(下)
  • 华为敏捷DevOps实践:如何从Excel管理软件的方式中走出来
  • CentOS7配置Kubernetes(K8S)集群
  • Docker在Linux/Windows上运行NetCore文章系列
  • 使用Python将MongoDB数据导到MySQL
  • Rem之自适应js
  • ubuntu16.04下安装postgresql 10.3
  • Groovy与Java集成常见的坑
  • Druid 在有赞的实践
  • echarts花样作死的坑
  • Java|序列化异常StreamCorruptedException的解决方法
  • Laravel核心解读--Facades
  • Python实现BT种子转化为磁力链接【实战】
  • webpack入门学习手记(二)
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 聊聊sentinel的DegradeSlot
  • 首页查询功能的一次实现过程
  • 我感觉这是史上最牛的防sql注入方法类
  • 智能合约开发环境搭建及Hello World合约
  • 7行Python代码的人脸识别
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • !!Dom4j 学习笔记
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (4) PIVOT 和 UPIVOT 的使用
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (学习日记)2024.02.29:UCOSIII第二节
  • (一)WLAN定义和基本架构转
  • (转)c++ std::pair 与 std::make
  • (转)shell中括号的特殊用法 linux if多条件判断
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .NET开发人员必知的八个网站
  • @require_PUTNameError: name ‘require_PUT‘ is not defined 解决方法
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • [100天算法】-不同路径 III(day 73)
  • [100天算法】-二叉树剪枝(day 48)
  • [2019/05/17]解决springboot测试List接口时JSON传参异常
  • [Avalon] Avalon中的Conditional Formatting.
  • [bzoj 3124][sdoi 2013 省选] 直径
  • [C++] new和delete
  • [C++打怪升级]--学习总目录
  • [codevs 1515]跳 【解题报告】