本文是Rancher 2.0部署与使用过程中常见的问题及其解决方法,多数问题整理收集自Rancher官方技术交流群内用户的提问与反馈。欢迎扫描文末二维码,添加Rancher小助手为好友,加群获得更多技术支持。


本文主要内容为:

1、部署Rancher 2.0的环境需求
推荐使用的操作系统
推荐的硬件配置
支持的docker版本
防火墙需要允许通过的端口

2、部署过程中的常见问题及排查思路
环境信息残留
openssh版本过低问题
nodeport端口只有一台机器能访问
部署使用calico网络部署环境失败问题
部署时主机not found问题
web页面kubectl闪退问题
非worker节点仍然被调度pod问题
it is a not share mount 问题
networkredy=false 问题
集群 unavailable

环境需求

推荐使用的操作系统

Ubuntu 16.04 (64-bit)
Red Hat Enterprise Linux 7.5 (64-bit)
RancherOS 1.3.0 (64-bit)

推荐的硬件配置

支持的docker版本

1.12.6
1.13.1
17.03.02

防火墙请允许通过已下端口

常见问题与排查思路

环境信息残留

目前部署中,大部分问题都是因为由于部署环境的操作系统,或多次部署,升级后残留的的信息造成的。

部署前或部署时,请使用以下命令将环境的各类信息清理干净:

df -h|grep kubelet |awk -F % '{print $2}'|xargs umount
rm /var/lib/kubelet/* -rf
rm /etc/kubernetes/* -rf
rm /var/lib/rancher/* -rf
rm /var/lib/etcd/* -rf
rm /var/lib/cni/* -rf
iptables -F && iptables -t nat –F
ip link del flannel.1
docker ps -a|awk '{print $1}'|xargs docker rm -f
docker volume ls|awk '{print $2}'|xargs docker volume rm

openssh版本过低问题

centos或rhel系统并且版本低于7.4的,因为默认的openssh和openssl和红帽系ssh默认将AllowTcpForwarding 关闭了,rke部署时会出现如下问题:

参考issue:
https://github.com/rancher/rk...

需要您进行以下操作:

  1. 确保您的openssh版本大于等于7.x
  2. 修改sshd配置打开重启sshd
  3. 默认centos和rhel不能使用root用户进行ssh tunnel,所以需要使用一个普通用户
  4. 并将这个用户加入docker这个Group,useradd –G docker yourusername

nodeport端口只有一台机器能访问

只能访问一台宿主机的nodeport,并且还是pod所在那台机器,出现这种问题很大原因是因为跨集群网络有问题,或本地防火墙问题。排查思路如下:

1、在宿主机本机telnet localhost:nodeort看看是否能通,本机能通,在集群内互相telnet测试,如果不能通根部署环境网络有很大关系,建议联系网络管理员进行排查。

如果本机telnet也不能通,进行如下测试。

2、首先我们需要或取对应的pod 信息

比如我这个test-6b4cdf4ccb-7pzt6在rancher-kf-worker01节点上,它的ip为10.42.3.23

3、先在pod所在的宿主机上然后在另外几个节点去ping这个ip,看看能否ping通,在canal网络模式下,请检查防火墙端口8472/UDP是否开放。查看每天机器上是否有尝试使用每台机器的flannel.1网卡,用的话,用flannel.1上的ip互相ping,看看是否能通,因为flannel网络和canal网络是通过flannel.1网卡互相建立vxlan遂道的。建议操作在关闭防火墙的情况下测试。

部署使用calico网络部署环境失败问题

部署rancher2.0时网络类型为calico时,如果cloud provider默认不填会选用公有云的,导致部署失败,所以这里我们需要手动填写为none。(后期会优化此项)

][6]

部署时主机not found问题

出现这个问题是因为宿主机的主机名不符合kubernetes的标准主机名要求也不符合标准的linux主机名,主机名内不能有下划线。

获取组件健康状态forbidden问题

大部分原因是因为部署多次,证书残留的导致的,解决办法,按照环境信息残留里面的方法把环境清空下,在重新添加。

web页面kubectl闪退问题

这个主要根操作系统版本和浏览器的版本有关系,请使用上推荐使用操作系统中的操作系统,浏览器使用Chrome

非worker节点仍然被调度pod问题

目前rancher2.0非worker节点,仍然会被调度pod过去,您可以选择手动将它们从kube-scheduler踢除,命令如下:

在获取节点在kubernetes集群的名字
打开web页面kubectl


然后执行

kubectl taint node rancher-kf-control01 node-role.kubernetes.io/rancher-kf-control01="":NoSchedule
kubectl taint node rancher-kf-control02 node-role.kubernetes.io/rancher-kf-control02="":NoSchedule
kubectl taint node rancher-kf-control03 node-role.kubernetes.io/rancher-kf-control03="":NoSchedule

it is a not share mount问题

部署时遇到share mount问题时,报错提示如下:

FATA[0180] [workerPlane] Failed to bring up Worker Plane: Failed to start [kubelet] container on host [192.168.10.51]: Error response from daemon: linux mounts: Path /var/lib/kubelet is mounted on / but it is not a shared mount.

这个问题原因主要是kubelet容器化部署,需要手动设置docker的MuntFLAGS为空
https://github.com/kubernetes...

解决方法:
执行
mount --make-shared /
或配置docker.server

MountFlags=shared
重启docker.service

NetworkRedy=false问题

这个问题通常是,在部署时网络组件在初始化,在配置,等待段时间就好了。或在对应节点查看kubelet日志的docker logs kubelet。

集群unavailable

通常此问题,是因为rancher-server根kubernetes中的kube-apiserver 6443端口连接有问题,建议检查防火墙和查看kube-api-server的日志。

总结
1、部署时能严格按照官方给出的操作系统版本和docker版本部署,可以避免掉很多问题。

2、多次部署,升级,环境一定要按照环境信息残留章节的命令,将环境清理干净。

3、如果遇到问题,建议docker logs 查看rancher-agent,rancher-server的日志。

Rancher 2.0部署过程中常见问题分析与解决相关推荐

  1. 光模块组装过程中常见问题分析及解决方法

    光模块组装过程中会出现一些问题,经常使用光模块的人可能会知道,下面就分享了组装光模块的问题及原因分析,并附有解决方案,大家参考下,希望对大家有帮助 在光模块组装过程中会出现一些问题,经常使用光模块的人 ...

  2. 放大器电路在设计过程中常见问题分析及如何解决

    放大器电路介绍 放大器电路,或称放大电路,能增加信号的输出功率.它透过电源取得能量来源,以控制输出信号的波形与输入信号一致,但具有较大的振幅.依此来讲,放大器电路亦可视为可调节的输出电源,用来获得比输 ...

  3. pla3d打印材料密度_3D打印金属材料模型过程中常见问题

    在金属3D打印过程中,可能会出现大量设备操作者试图避免的问题,包括孔隙.残余应力.致密度.翘曲.裂纹及表面光洁度等.下面我们来谈谈这几种常出现的问题. 1.表面光洁度 在金属3D打印件被使用或放置在展 ...

  4. HoloLens 2 打包发布过程中 常见问题汇总(长期更新)

    HoloLens 2 打包发布过程中 常见问题汇总(长期更新)                   目 录 1. Unity 中发布Hololens的时候界面变灰,提示无发布权限. 2. Unity发 ...

  5. [项目过程中所遇到的各种问题记录]部署篇——项目部署过程中那些纠结的问题-SQLServer...

    前一篇文章说了些有关IIS的,这篇则是说SQLServer的,相比IIS来说,SQLServer的配置过程中问题就少了许多,而且都比较有针对性,下面开始记录: 注:由于实际项目的开发都是基于SQL20 ...

  6. azkaban的部署过程中遇到的一些坑(部署篇)

    2019独角兽企业重金招聘Python工程师标准>>> 1.azkaban源码下载 maven下载地址3.0.0版本:https://gitee.com/wenhaijin_830_ ...

  7. 在使用ambari进行安装部署过程中遇到的glibc问题

    在使用ambari进行安装部署过程中遇到的glibc问题 使用 yum check rpm -e rpm -q 处理问题 报错信息如下: stderr: Traceback (most recent ...

  8. cas 部署过程中遇到的一些问题(持续更新)

    cas 部署过程中遇到的一些问题(持续更新) 1.CertificateException 有时候客户端和服务端都部署好了之后,回调回来会报异常 javax.net.ssl.SSLHandshakeE ...

  9. 群晖网络不通_群晖系统安装zerotier one进行内网穿透过程中常见问题及解决方法...

    群晖系统安装zerotier one进行内网穿透过程中常见问题及解决方法 2020-07-28 17:27:39 21点赞 330收藏 31评论 zerotier one是一款很好用的P2P内网穿透软 ...

最新文章

  1. 什么是CGI、FastCGI、PHP-CGI、PHP-FPM
  2. python使用符号 表示单行注释-Python注释符号(多行注释和单行注释)用法详解...
  3. Android开源框架——网络解析GSON
  4. jvm内存溢出分析实践案例:javax.crypto.JceSecurity大量BouncyCastleProvider实例无法被回收
  5. 最全三大框架整合(使用映射)——DeptAction.java
  6. MySQL主从复制作用和原理
  7. 2021年,彩票店还开的下去吗?
  8. sql安装程序初始化_SQL Server安装程序–即时文件初始化(IFI)
  9. Matlab与Access数据库的连接
  10. SHELL编程基础之BASH入门
  11. xshell远程控制(连接)两个VMware同时启动的Linux操作系统
  12. DelphiARX 2000i 简介
  13. 使用pyenv和virtualenv搭建python虚拟环境
  14. linux opendir php,php目录遍历函数opendir用法实例
  15. css居中显示代码怎么写,div居中代码 DIV水平居中显示CSS代码
  16. 计算机键盘和指法练习实验报告模板,实验报告-实验一 计算机的认识与指法练习...
  17. python mysql输出的字符带括号_python 将dataframe插入到mysql库中出现表头加括号的情况...
  18. 微信小程序的总结(我学到了什么?我有了哪些成就?)
  19. 初中计算机教学进度表,信息技术教学计划范文
  20. 一次培训机构的面试经历

热门文章

  1. Win10+NVIDIA GeForce MX150: CUDA9+cuDnn+TensorFlow-GPU的安装教程
  2. 恋词题源报刊Unit1背诵
  3. 2011年美国十大病毒营销案例
  4. Python计算两个字符串的相似度代码示例
  5. 《出版专业基础》2015年版(初级)思考与练习 第四章
  6. Gatling 基本使用教程
  7. 微信苹果ios端,公众号中打开网页分享无效错误有问题
  8. python批量生成合同
  9. Electronica慕尼黑上海电子展 | Samtec连接器精彩亮相
  10. ASCII码中的控制字符