栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

k8s 集群模式nacos无法相互发现

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

k8s 集群模式nacos无法相互发现

问题描述

k8s 集群模式nacos无法相互发现


原因分析:

检查nacos日志发现,报错无法选主

nacos控制台可以看到频繁在投票选举,异常节点ip可以看到,k8s svc全路径local后多了一个小点(.),这就是罪魁祸首了。

K8S中StatefulSet是有状态应用:

  • Pod名称末尾有编号。从0开始,按顺序启动,前边Pod启动成功后,才开始启动后边Pod。
  • 拥有固定的网络标志
  • 持久化存储

网络标志最终是通过Headless Service来实现的,Headless Service 服务没有cluster IP

  • 对于ClusterIP模式的Service来说,它的A记录格式是serviceName.namespace.svc.cluster.local,当你访问这条 A 记录的时候,它解析到的就是该 Service 的 VIP 地址。
  • 对于指定了 clusterIP=None 的 Headless Service来说,它的A记录的格式跟上面一样,但是访问记录后返回的是Pod的IP地址集合。Pod 也会被分配对应的 DNS A 记录,格式为:podName.serviceName.namesapce.svc.cluster.local

解决方案:

排查kubelet配置文件,ClusterDomain属性配置错误,导致Headless Service服务域名解析错误

导致自动生成的DNS记录多了一个点,podName.serviceName.namesapce.svc.cluster.local.
无法解析

修改kubelet配置,删掉多余的点,重启kubelet问题恢复

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/995766.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号