kubernetes中特定域名使用自定义DNS服务器出现的解析异常

故障发生背景:
租户反馈生产业务服务连接到中间件的时候,偶尔会有连接失败的情况,然后我们查看对应组件服务正常,手动请求组件服务也显示正常,让租户查看业务服务日志发现报错无法解析对应的域名,我们手动是可以解析的,报错如下:

2023-06-01 17:21:32,653 [573462087] [lettuce-epollEventLoop-6-2] WARN io.lettuce.core.RedisClient[605] - Cannot connect Redis Sentinel at redis://zzpod6clusterprod-redis-tydb-1-sentinel.paas-middleware:26379: java.util.concurrent.CompletionException: io.netty.resolver.dns.DnsResolveContext$SearchDomainUnknownHostException: Failed to resolve ‘zzpod6clusterprod-redis-tydb-1-sentinel.paas-middleware’ and search domain query for configured domains failed as well: [tydb.svc.cluster.local, svc.cluster.local, cluster.local]

故障处理过程

根据业务日志反馈的报错,我们在手动验证集群coredns解析没问题的同时,查看了下coredns的日志,发现日志中确实解析成功的也有解析失败的,如下:
在这里插入图片描述按理说手动测试解析一直没有问题,而且不是所有服务都是这种情况,查看了下租户解析有问题的服务,发现租户解析有问题服务中都配置了外部dns server,如下:
在这里插入图片描述这个外部dns服务器之前租户是有这个需求的,想着k8s集群内的服务能请求到特定的域名,后面我把这个外部dns服务地址给他配置到k8s集群的cordens配置里,实现访问特定域名地址可以通过coredns转给外部dns服务器进行解析。coredns配置外部dns服务如下:
在这里插入图片描述从如上分析来看,既然在coredns中已经配置了外部转发dns服务,租户如果继续在服务中还配置外部dns服务地址,就会导致应用服务会有两个dns nameserver,首先会访问集群内部域名地址会解析到pod中配置的那个外部dns服务中,会出现解析不了的情况,就反馈失败,然后轮到集群内部定义的dns服务就会正常解析成功。

故障处理结果

把在服务中配置dnscongfig相关参数去掉,让服务统一走集群内的coredns进行转发处理即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/26671.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【雕爷学编程】Arduino动手做(163)---大尺寸8x8LED方格屏模块7

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…

laravel6.x文档阅读手册

laravel中文文档6.x 目录 一、入门指南 安装 服务器要求 安装 Laravel Laravel 使用 Composer 来管理项目依赖。因此,在使用 Laravel 之前,请确保你的机器已经安装了 Composer。 通过 Laravel 安装器 首先,通过使用 Composer 安装 Lara…

Pod:Kubernetes里最核心的概念

为了解决这样多应用联合运行的问题,同时还要不破坏容器的隔离,就需要在容器外面再建立一个“收纳舱”,让多个容器既保持相对独立,又能够小范围共享网络、存储等资源,而且永远是“绑在一起”的状态。 Pod 的概念也就呼…

我在VScode学Java类与对象(Java的类与对象、this关键字)第一辑

我的个人博客主页:如果’真能转义1️⃣说1️⃣的博客主页 关于Java基本语法学习---->可以参考我的这篇博客:《我在VScode学Java》 关于我在VScode学Java(Java方法method) 类是描述了一组有相同特性(属性&#xff09…

从实体按键看 Android 车载的自定义事件机制

在汽车数字化、智能化变革的进程中,越来越多的车机设计或部分、或全部地舍弃了实体按键,进而把车主操作的入口转移到了车机 UI 以及语音助手。 但统一、高效的零层级 UI 颇为困难,语音的准确率、覆盖率亦不够完善,那么在当下的阶段…

PCIe总线的链路训练

目录 概述 链路训练的目的 几个关键概念 Lane reveral : Polarity inversion: De-skew: link number: Lane number: Bit lock: Symbol lock: 几个特殊序列: TS1和TS2&am…

微软开源了一个 助力开发LLM 加持的应用的 工具包 semantic-kernel

在首席执行官萨蒂亚纳德拉(Satya Nadella)的支持下,微软似乎正在迅速转变为一家以人工智能为中心的公司。最近微软的众多产品线都采用GPT-4加持,从Microsoft 365等商业产品到“新必应”搜索引擎,再到低代码/无代码Powe…

手把手教你写通讯录(含动态版)

目录 一、框架 二、实现 1.初始化通讯录 2.增加联系人 3.打印通讯录 4.删除联系人 5.修改联系人 6.查找联系人 7.退出通讯录 8.拓展:通讯录排序 9.全代码 三、动态版 1.结构体修改 2.初始化修改 3.扩容实现 4.善后函数 5.全代码 一、框架 实现通讯录…

稀疏光流法跟中移动物体、监督学习聚类、K均值聚类、加载深度神经网络模型、深度神经网络模型的使用

目录 1、稀疏光流法跟中移动物体 2、监督学习聚类 3、K均值聚类 4、加载深度神经网络模型 5、深度神经网络模型的使用 1、稀疏光流法跟中移动物体 //稀疏光流法跟中移动物体 vector<Scalar> color_lut;//颜色查找表 void draw_lines(Mat &image, vector<Point…

【已解决】pcl引用头文件convolution_3d.hpp时报错

在做pcl的高斯滤波/卷积滤波的时候&#xff0c;引用convolution_3d.hpp出现问题,报下面的错误 当前pcl版本号为pcl1.12.1 错误内容 严重性 代码 说明 文件 行 错误 C2143 语法错误: 缺少“;”(在“<”的前面) C:\pcl12\PCL 1.12.1\include\pcl-1.12\pcl\filters\con…

机器学习实战 | 深度学习初级项目学习和总结

目录 简介神经网络类型和用法总结1. 卷积神经网络CNN特点结构用处 2. 循环神经网络RNN特点结构用处 3. 长短期记忆网络LSTM特点结构用处 基于Keras的神经网络用法总结1. 创建2. 编译3. 训练4. 保存5. 预测 简介 准备写个系列博客介绍机器学习实战中的部分公开项目。首先从初级…

安卓开发错误记录

1、报错FATAL EXCEPTION: main 运行出现报错 原因&#xff1a;没有在AndroidManifest声明页面 声明实现应用部分可视化界面的 Activity&#xff0c;必须使用 AndroidManifest 中的 元素表示所有 Activity。系统不会识别和运行任何未进行声明的Activity。 如果在AndroidMainife…