IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> K8S集群calico报错Calico node ‘binary-k8s-master1‘ is already using the IPv4 address 172.18.0.1 -> 正文阅读

[系统运维]K8S集群calico报错Calico node ‘binary-k8s-master1‘ is already using the IPv4 address 172.18.0.1

k8s calico报错Calico node ‘binary-k8s-master1’ is already using the IPv4 address 172.18.0.1

另外只要是calico组件一直处于running 0/1的状态都可以参考下面的解决办法

1.问题描述

将pinpoint微服务链路监控以docker方式部署在了k8s集群中的node节点上,刚开始没有问题,过了一天后,发现calico组件全部启动失败,并且集群中的所有微服务无法提供服务

calico报错如下

# kubectl logs -f calico-node-p6hsk -n kube-system
2021-11-26 07:28:04.920 [INFO][8] startup/startup.go 299: Early log level set to info
2021-11-26 07:28:04.920 [INFO][8] startup/startup.go 315: Using NODENAME environment for node name
2021-11-26 07:28:04.920 [INFO][8] startup/startup.go 327: Determined node name: binary-k8s-node2
2021-11-26 07:28:04.925 [INFO][8] startup/startup.go 359: Checking datastore connection
2021-11-26 07:28:04.976 [INFO][8] startup/startup.go 383: Datastore connection verified
2021-11-26 07:28:04.977 [INFO][8] startup/startup.go 104: Datastore is ready
2021-11-26 07:28:05.086 [INFO][8] startup/startup.go 425: Initialize BGP data
2021-11-26 07:28:05.087 [INFO][8] startup/startup.go 664: Using autodetected IPv4 address on interface br-a32444aa3aae: 172.18.0.1/16
2021-11-26 07:28:05.087 [INFO][8] startup/startup.go 495: Node IPv4 changed, will check for conflicts
2021-11-26 07:28:05.105 [WARNING][8] startup/startup.go 1010: Calico node 'binary-k8s-master1' is already using the IPv4 address 172.18.0.1.
2021-11-26 07:28:05.106 [INFO][8] startup/startup.go 263: Clearing out-of-date IPv4 address from this node IP="172.18.0.1/16"
2021-11-26 07:28:05.139 [WARNING][8] startup/startup.go 1214: Terminating

也没有对K8S集群做过任何特殊操作,集群中calico就异常了,一直无法启动,重启集群也不好使。

2.问题解决

我们可以仔细观察日志中的报错,看到如下的一句话

2021-11-26 07:28:05.087 [INFO][8] startup/startup.go 664: Using autodetected IPv4 address on interface br-a32444aa3aae: 172.18.0.1/16

br-a32444aa3aae这是个什么鬼,看报错日志的意思也就是说br-a32444aa3aae这个网卡上有一个172.18.0.1IP导致和calico冲突了。

我们去node2主机上查一下这个网卡,果不其然确实有这个网卡,并且也有这个IP。

# ifconfig 
br-a32444aa3aae: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.18.0.1  netmask 255.255.0.0  broadcast 172.19.255.255
        inet6 fe80::42:8ff:feb9:2492  prefixlen 64  scopeid 0x20<link>
        ether 02:42:08:b9:24:92  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

这个网卡像是docker生成的,我们查一下docker的网络

# docker network ls
NETWORK ID          NAME                           DRIVER              SCOPE
55efa42d705d        bridge                         bridge              local
aba466ac1f9c        host                           host                local
89494ad04935        none                           null                local
a32444aa3aae        pinpoint-docker-185_pinpoint   bridge              local

的确, br-a32444aa3aae与a32444aa3aae网络是相对应的,也就是我们的pinpoint,将这个网络删除

# docker network rm  a32444aa3aae 
a32444aa3aae

删掉网络之后,我们在观察calico网络已经成功启动

# kubectl get pod -n kube-system
NAME                                      READY   STATUS    RESTARTS   AGE
calico-kube-controllers-97769f7c7-dsdrk   1/1     Running   1          38m
calico-node-jkl6q                         1/1     Running   0          8m38s
calico-node-pgstp                         1/1     Running   0          8m39s
calico-node-vssbk                         1/1     Running   0          8m39s
coredns-6cc56c94bd-m7pzr                  1/1     Running   1          30m

3.总结

使用docker或者docker-compose部署的程序最好不要放在K8S集群,docker-compose部署的服务都有自己的docker网络,会和calico网络产生冲突。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-27 10:18:21  更:2021-11-27 10:18:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 1:43:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码