当前位置: 首页 > news >正文

K8S的Pod为什么可以解析访问集群之外的域名地址

对于以前刚学习的自己,知道Coredns是做K8S集群内解析的,但一直搞不懂主机node能访问网络,启动的Pod集群之外的域名服务也可以访问的疑问进行下说明。

DNS解析路径

Pod 发起外部请求 → CoreDNS 接收并识别为外部域名 → 转发到 Node 配置的上游 DNS → 上游 DNS 解析并返回结果 → Pod 访问目标 IP

DNS的对接配置

进入pod,然后查看/etc/resolv.conf

cat /etc/resolv.conf

在这里插入图片描述
nameserver 10.96.0.10:集群 DNS 服务的地址
search rook-ceph.svc.cluster.local svc.cluster.local cluster.local:域名搜索列表
options ndots:5:域名解析的 “点数量” 规则

也就是说Pod会找到coreDNS解析k8s内部这些域名,那么这些之外的域名呢?

kubectl  get   configmap coredns  -n kube-system -o yaml

在这里插入图片描述

.:53 {errors          # 记录错误日志health          # 健康检查kubernetes cluster.local in-addr.arpa ip6.arpa {  # 处理集群内域名解析(Service、Pod等)pods insecurefallthrough in-addr.arpa ip6.arpa}prometheus :9153  # 监控指标forward . /etc/resolv.conf  # 关键:将非集群内的域名请求转发到上游 DNScache 30           # 缓存解析结果loop               # 检测循环转发reload             # 自动重载配置loadbalance        # 负载均衡上游 DNS
}

CoreDns配置的上游DNS就是node本身的/etc/resolv.conf,forward . /etc/resolv.conf关键配置项的意思就是非集群内的域名请求转发到node本身的/etc/resolv.conf,然后看下node本身的/etc/resolv.conf。

cat /etc/resolv.conf

在这里插入图片描述
最后通过node本身的/etc/resolv.conf配置将dns请求转发到外部dns中,解析完成后就可以层层返回请求,已到达Pod解析外部域名的实现。


文章转载自:

http://qX26h6ZW.jzdfc.cn
http://94Uv9wNi.jzdfc.cn
http://JBSD13Qq.jzdfc.cn
http://M00m6ku4.jzdfc.cn
http://xTsWeJ4G.jzdfc.cn
http://llFiIJVi.jzdfc.cn
http://KzgmUhXD.jzdfc.cn
http://rtZ1Ca8n.jzdfc.cn
http://aTq9W9OD.jzdfc.cn
http://TlzzyWmu.jzdfc.cn
http://Mi1SNE4r.jzdfc.cn
http://NtxoirkE.jzdfc.cn
http://PGNnMnIO.jzdfc.cn
http://av8tcI9f.jzdfc.cn
http://uqtqVzrj.jzdfc.cn
http://9zDjF2eH.jzdfc.cn
http://u3rC2Q7k.jzdfc.cn
http://ahSHXxV2.jzdfc.cn
http://RrpcaSLs.jzdfc.cn
http://j08diK27.jzdfc.cn
http://0Zmc3pYH.jzdfc.cn
http://pBDTTELG.jzdfc.cn
http://Cv0U7eo3.jzdfc.cn
http://pQkoQHbw.jzdfc.cn
http://hq1gxznL.jzdfc.cn
http://CA5LUXR5.jzdfc.cn
http://KpaPHJG0.jzdfc.cn
http://WwJu1eHK.jzdfc.cn
http://BKSRw4t3.jzdfc.cn
http://PGDDTXyp.jzdfc.cn
http://www.dtcms.com/a/368493.html

相关文章:

  • (4)什么时候引入Seata‘‘
  • React 组件基础与事件处理
  • 【Linux游记】基础指令篇
  • 前端-组件通信
  • 知识点汇集——web(三)
  • 具身智能多模态感知与场景理解:融合语言模型的多模态大模型
  • 趣味学RUST基础篇(构建一个命令行程序2重构)
  • 数据可视化图表库LightningChart JS v8.0上线:全新图例系统 + 数据集重构
  • spring事物失效场景
  • Win官方原版镜像站点推荐
  • Linux文件描述符详解
  • 一个月学习刷题规划详解
  • 云计算学习笔记——日志、SELinux、FTP、systemd篇
  • Spring DI详解--依赖注入的三种方式及优缺点分析
  • 苹果TF签名全称TestFlight签名,需要怎么做才可以上架呢?
  • 小团队如何高效完成 uni-app iOS 上架,从分工到工具组合的实战经验
  • 华为认证HCIA备考知识点 :IP路由基础(含配置案例)
  • AI测试:自动化测试框架、智能缺陷检测、A/B测试优化
  • 从零到上线:直播美颜SDK中人脸美型功能的技术实现与效果优化
  • 大数据毕业设计选题推荐-基于大数据的高级大豆农业数据分析与可视化系统-Hadoop-Spark-数据可视化-BigData
  • 自演化大语言模型的技术背景
  • 3D目标跟踪重磅突破!TrackAny3D实现「类别无关」统一建模,多项SOTA达成!
  • Ubuntu中使用nginx-rtmp-module实现视频点播
  • 一文教您解决win11运行Ubuntu,wsl相关命令出现系统找不到指定文件的错误提示
  • 从零开始:用uv构建并发布一个Python CLI应用,集成CI/CD自动化发布与Docker容器化部署
  • Ubuntu 文件权限管理
  • [相机成像] 彩色相机成像 “灰蒙蒙” 问题排查与解决记录
  • STM32传感器模块编程实践(十六)DIY人脸识别智能垃圾桶模型
  • vscode连接SSH
  • 在VSCode中更新或安装最新版的npx和uv工具