最近公司的项目用到了Kubesphere,于是自己先在虚拟机上测试了一番,遇到了很多的问题,现将遇到的有关calico的问题记录一下

上一篇介绍了如何离线安装kubesphere v3.0,安装之后我发现在后台的集群管理界面看不到集群节点的监控数据:



于是我get pod查看了一下状态,发现其中calico组件没有跑起来:



然后我在通过kubectl describe命令对宕机的calico pod进行查看,发现calico establish with的ip与我的节点地址不同,这里我的节点地址都是192网段的,而这个是172网段,显然calico这个要建立通道的网卡存在错误:



于是我ifconfig查看了一下,发现存在一个虚拟网卡和这个ip对应:



我摸不到头脑于是上网查到了一篇文章和我的情况有些类似,也是calico和其他的虚拟网卡建立通道报错:

原因就是:calico没有发现实node节点实际的网卡名称

产生的缘由和解决方法

调整calicao的网络插件的网卡发现机制,修改IP_AUTODETECTION_METHOD对应的value值。下载的官方提供的yaml文件中,ip识别策略(IPDETECTMETHOD)没有配置,即默认为first-found,这会导致一个网络异常的ip作为nodeIP被注册,从而影响node之间的网络连接。可以修改成can-reach或者interface的策略,尝试连接某一个Ready的node的IP,以此选择出正确的IP

修改calicao的yaml文件,添加两行配置

- name: IP_AUTODETECTION_METHOD

value: "interface=eth1" # 根据实际网卡名称配置

[root@k8s-master yaml]# vim calico.yaml

...(3546行)

            #Cluster type to identify the deployment type
- name: CLUSTER_TYPE
value: "k8s,bgp"
#新添加的配置
- name: IP_AUTODETECTION_METHOD
value: "interface=eth1"
# Auto-detect the BGP IP address.
- name: IP
value: "autodetect"
# Enable IPIP
- name: CALICO_IPV4POOL_IPIP
value: "Always"
# Enable or Disable VXLAN on the default IP pool.
- name: CALICO_IPV4POOL_VXLAN
value: "Never"

重新构建

kubectl apply -f calico.yaml

以上是比较通用的解决方法

而我因为是之前将harbor和master放在了一台虚拟机上,所有这台机器上存在一个当初创建harbor的虚拟网卡,而calico将这个网卡认作了要建立通道的网卡,因此出现了这个问题,于是我将harbor转移到了其他机器上,问题就很好的解决了

关于kubesphere集群calico网络组件报错的修复的更多相关文章

  1. windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error

    windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error 学习了:https ...

  2. 【原创】大叔问题定位分享(3)Kafka集群broker进程逐个报错退出

    kafka0.8.1 一 问题现象 生产环境kafka服务器134.135.136分别在10月11号.10月13号挂掉: 134日志 [2014-10-13 16:45:41,902] FATAL [ ...

  3. HDFS集群启动start-dfs.sh报错

    [root@master sbin]# start-dfs.sh Starting namenodes on [master] master: Error: JAVA_HOME is not set ...

  4. Kunernetes集群架构与组件

    架构如图: master节点:主要是集群控制面板的功能,来管理整个集群,包括全局的角色,调度,都是在master节点进行控制 有三个组件: API Server:  是 k8s提供的一个统一入口,它是 ...

  5. .NET开发框架(八)-服务器集群之网络负载平衡演示(视频)

    (有声视频-服务器集群之负载平衡-NLB演示) 观看NLB视频的童鞋,都会继续观看IIS的负载平衡教程,点击>> 本文以[图文+视频],讲解Windows服务器集群的网络负载平衡NLB的作 ...

  6. 三十二、kubernetes集群的网络实现

    Kubernetes集群的网络实现 CNI介绍及集群网络选型 容器网络接口(Container Network Interface),实现kubernetes集群的Pod网络通信及管理.包括: CNI ...

  7. MongoDB集群跨网络、跨集群同步方案

    MongoDB集群跨网络.跨集群数据同步有以下几个方案,此处只是简单介绍,不过详细描述. 1.MongoDB自带的复制方案 优点:实施简单,不需要额外的技术栈 缺点:网络双向可连通. 2.CDC同步方 ...

  8. kubesphere集群搭建(多节点)

    kubesphere官网:https://kubesphere.io/docs/advanced-v2.0/zh-CN/introduction/intro/ 一.准备环境 1.准备服务器 maste ...

  9. 灵雀云开源网络插件Kube-OVN 1.4.0 版发布!支持跨集群容器网络、NetworkPolicy 日志

    从 1.4 开始 Kube-OVN 支持将多个 Kubernetes 集群容器网络打通,不同集群之间的 Pod 可以通过 Pod IP 直接互相通信.本版本还支持 ACL 日志,可以记录因 Netwo ...

  10. Xcode7 beta 网络请求报错:The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.

    Xcode7 beta 网络请求报错:The resource could not be loaded because the App Transport Xcode7 beta 网络请求报错:The ...

随机推荐

  1. Python requests模块做接口测试

    将接口相关信息写入到Excel中,然后用此脚本从Excel中读取相应的信息并组装成URL来发送接口并获取返回的结果,并将结果写入到对应的用例中. import requests import json ...

  2. 什么是NASM

    什么是NASM NASM是一个汇编器的名称,全称是Netwide Assembler,支持x86与x64架构的CPU(注意不支持ARM架构). 我们知道,在x86和x64架构上有多个操作系统,比较流行 ...

  3. JSON字符串数据转换指定实体对象数据

    一.引入需要的maven依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId> ...

  4. PaliGemma 正式发布 — Google 最新发布的前沿开放视觉语言模型

    PaliGemma 是 Google 推出的新一代视觉语言模型家族,能够接收图像与文本输入并生成文本输出. Google 团队已推出三种类型的模型:预训练(PT)模型.混合模型和微调(FT)模型,这些 ...

  5. win11或win10客户端邮箱账号登录设置

    1.alimall阿里企业邮箱 点击账户 点击添加账户 点击其他账户 输入电子邮箱地址和密码,并点击登录即可 2.Qq邮箱 2.1 点击账户 2.2 点击添加账户 2.3 点击其他账户 2.4 输入电 ...

  6. etcd MVCC 存储结构及流程

    什么是 MVCC MVCC 是 Multi-Version Concurrency Control 的缩写,即多版本并发控制.它是一种并发控制的方法,用于在数据库系统中实现事务的隔离性.MVCC 是一 ...

  7. Swoole 实践篇之结合 WebRTC 实现音视频实时通信方案

    原文首发链接:Swoole 实践篇之结合 WebRTC 实现音视频实时通信方案 大家好,我是码农先森. 引言 这次实现音视频实时通信的方案是基于 WebRTC 技术的,它是一种点对点的通信技术,通过浏 ...

  8. django中实现Markdown

    分为两个部分: ------------后台使用Markdown编辑 ------------前端使用Markdown展示 准备工作: pip install django-mdeditor # 用于 ...

  9. 003. git标签

    git标签 标签用于记录详细修改内容,为后续使用提供帮助. 也方便快速的回滚. 每一次提交[commit]都可以打一个tag标签. 测试阶段标签规则: 以 0.01 0.02版本为主 正式上线标签规则 ...

  10. ChatTTS,语气韵律媲美真人的开源TTS模型,文字转语音界的新魁首,对标微软Azure-tts

    前两天 2noise 团队开源了ChatTTS项目,并且释出了相关的音色模型权重,效果确实非常惊艳,让人一听难忘,即使摆在微软的商业级项目Azure-tts面前,也是毫不逊色的. ChatTTS是专门 ...