1. 故障描述

在原来的集群上纳管一台主机10.248.60.113,由于10.248.60.113主机kubelet的配置文件里的hostname没有修改,还用的10.248.60.79的主机IP,导致在master查询不到node节点。Node没办法加入到集群中。将kubelet配置文件修改完以后,在集群中可以查询到node的节点信息,但是calico一直起不来。

2. 故障分析

还是先查看报错,然后在根据报错来针对性解决。
查看报错,报如下错误:
startup/startup.go 299: Early log level set to info
] startup/startup.go 315: Using NODENAME environment for node name
2020-12-16 09:12:31.688 [INFO][8] startup/startup.go 327: Determined node name: 10.248.xx.113
startup/startup.go 359: Checking datastore connection
startup/startup.go 383: Datastore connection verified
] startup/startup.go 104: Datastore is ready
startup/startup.go 425: Initialize BGP data
startup/startup.go 678: Using autodetected IPv4 address 10.248.xx.113/20 on matching interface eth0
2020-12-16 09:12:31.710 [INFO][8] startup/startup.go 495: Node IPv4 changed, will check for conflicts
2020-12-16 09:12:31.714 [WARNING][8] startup/startup.go 1010: Calico node ‘10.248.xx.79’ is already using the IPv4 address 10.248.xx.113.
2020-12-16 09:12:31.715 [INFO][8] startup/startup.go 263: Clearing out-of-date IPv4 address from this node IP=“10.248.xx.113/20”
2020-12-16 09:12:31.720 [WARNING][8] startup/startup.go 1214: Terminating

查看日志可以查看出是79这个ip,抢占了113这个地址。导致113没办法使用有效的ip地址了。看报错肯定是之前误操作有脏数据导致的。

3.解决方法

1.查看113主机的calico的/var/lib/calico/nodename这个文件里的内容,果然,文件的ip地址是79的,而不是113的,将内容清楚掉。重启kubelet,kube-proxy服务。将pod重启,看是否可以创建calico了。结果还是不行,还是报之前的错。这个方法也不行,继续排查。
2.在etcd中查询calico的信息,看是否可以查看到脏数据。命令如下,最后没有查询到calico的有效信息。看来这个方法也不行
ETCDCTL_API=3 etcdctl --endpoints=http://10.248.60.xx:1159 get “/calico” --prefix --keys-only | sed ‘/^\s*KaTeX parse error: Undefined control sequence: \s at position 137: …-only | sed '/^\̲s̲*/d’ | grep -v event
查询到节点的这个信息.
/registry/csinodes/10.248.xx.113
/registry/csinodes/10.248.xx.44
/registry/csinodes/10.248.xx.79
/registry/csinodes/10.248.xx.97
使用route -n 查看这两台主机的路由信息,网络显示不正常。
后来将这两个一直出现问题的节点从集群中delete掉,重新加入到集群中,查看集群状态正常,查看calico的pod的状态,显示已经起来了。问题解决了。

一次calico起不来的问题排查相关推荐

  1. kuberntes集群不能解析service ip故障排查记录

    一.故障描述 涉及kubernetes版本: 1.20 kuberntes集群发布服务后,不能正常解析service ip,无法使用telnet测试服务ip 在kubernetes命名空间里部署red ...

  2. K8S集群中Pod与Pod之间网络故障排查思路

    K8S集群中Pod与Pod之间网络故障排查思路 文章目录 K8S集群中Pod与Pod之间网络故障排查思路 1.Pod与Pod之间通信故障 2.Pod与Pod之间网络通信故障排查思路 1.Pod与Pod ...

  3. Kubernetes在智联招聘内网的应用场景

    智联招聘创建于1994年,拥有1.4亿职场人用户,累计合作企业数达400万家.为了更好的支持公司的业务发展,我们于2017年底上线了基于kubernetes的容器云平台.当前我们内网共维护4套Kube ...

  4. kubernetes学习笔记之十三:基于calico的网络策略入门

    一..安装calico [root@k8s-master01 ~]# kubectl apply -f https://docs.projectcalico.org/v3.3/getting-star ...

  5. 容器网络Calico进阶实践 | 褚向阳

    各位晚上好,我是数人云的褚向阳,接下来要跟大家分享的主题是<容器网络Calico进阶实践>. 距离上次聊 Calico 已经过去快半年的时间了,数人云也一直在努力将容器网络方案应用到企业客 ...

  6. Calico 的网络结构是什么?- 每天5分钟玩转 Docker 容器技术(68)

    上一节我们部署了 Calico 网络,今天将运行容器并分析 Calico 的网络结构. 在 host1 中运行容器 bbox1 并连接到 cal_net1: docker container run ...

  7. kubelet配置cni插件_kubernetes网络插件对比分析(flannel、calico、weave)

    本文将在介绍技术原理和相应术语的基础上,再集中探索与详细对比目前最流行的CNI插件: Flannel Calico Weave 介绍 网络架构是Kubernetes中较为复杂.让很多用户头疼的方面之一 ...

  8. calico跨主机ping不通_戳穿 Calico 的谎言

    前言 Calico 是一个纯三层的数据中心网络方案,而且无缝集成像 OpenStack 这种 Iaas 云架构,能够提供可控的 VM.容器.裸机之间的 IP 通信.为什么说它是纯三层呢?因为所有的数据 ...

  9. Docker网络解决方案 - Calico部署记录

    Docker网络解决方案 - Calico部署记录 参考文章: (1)Docker网络解决方案 - Calico部署记录 (2)https://www.cnblogs.com/kevingrace/p ...

最新文章

  1. Android中Parcelable接口用法
  2. 科普:CPU缓存一致性协议
  3. string数组批量转换成Int数组
  4. C语言switch怎么算,超级新手,用switch写了个计算器程序,求指导
  5. ThinkPHP---RBAC
  6. 【华为云技术分享】A-Tune:基于AI的自优化能力,让应用发挥极致性能
  7. 相机模型与标定(十一)--LMEDS,M估计,RANSAC估计对比
  8. 新浪Linux运维工程师面试真题曝光
  9. MAVEN 仓库加速 阿里云镜像
  10. 初探机器学习之使用讯飞TTS服务实现在线语音合成
  11. 基于python的OCR中文识别教程
  12. 守望先锋--颜色参数
  13. BZOJ 3110 题解
  14. “做自己擅长又有兴趣的事情,是最幸福最快乐的” – 记我的大学老师
  15. openpose的搭建
  16. 【python】如何批量修改文件名
  17. Java 图形界面(满天星星)
  18. 互联网江湖“黑话”一览——狼厂、猫厂、鹅厂、狗厂……
  19. 基于帕累托的多目标遗传算法优化的原理与 Python 实现
  20. PDF怎么编辑?如何设置页面?

热门文章

  1. Repeater用法
  2. 阿里大文娱进军中视频赛道,《出发吧,老孟》3月上线
  3. window 安装onnx和onnxruntime-gpu(python版)
  4. uname命令 linux,Linux uname命令详解
  5. 惠更斯Rothermel模型模拟-森林火灾-计算坐标(思路)
  6. Neural Network 神经网络
  7. 元境X西安博物院重磅合作,元宇宙促进文旅新业态
  8. jquery 选择器及循环
  9. 【转】java_api中文英文下载
  10. 如何运行别人的vue项目