通过域名访问k8s-pod方案

article/2025/8/23 5:23:55

针对一些特殊业务需要通过pod名称或域名直接访问pod内部服务。本文主要提供一种暴露pod域名到公司内网的方案。

01


 技术方案

1、使用coredns基于etcd的域名解析插件

2、单独部署一套server,该server负责接收agent发来的域名记录请求,并将数据写到etcd。

3、在每个k8s集群上启动一个agent,该agent负责watch集群的所有pod,并请求server外部接口将域名与ip记录到etcd中。

4、coredns读取etcd中的域名记录。

02


方案验证

验证测试coredns基于etcd的域名解析功能

环境要求:一台安装linux操作系统的机器并已安装docker,10.23.34.16

1、部署etcd,本次通过通过容器部署

docker network create app-tier --driver bridgedocker run -d --name etcd-server --network app-tier --publish  2379:2379 --publish  2380:2380 --env ALLOW_NONE_AUTHENTICATION=yes --env ETCD_ADVERTISE_CLIENT_URLS=http://etcd-server:2379 bitnami/etcd:latest

2、下载coredns二进制: https://github.com/coredns/coredns/releases/tag/v1.10.1。并将coredns二进制copy到/usr/bin目录下

3、创建coredns配置文件

mkdir /etc/corednsvi /etc/coredns/dns.conf ##内容如下skydns.local {    etcd {        path /skydns        endpoint http://localhost:2379    }    cache}k8sqihoo.net {    etcd {        path /k8sqihoo    # 跟第5步在etcd写入的key前缀一致        endpoint http://localhost:2379    }    cache}. {    forward . /etc/resolv.conf    cache}

4、启动coredns,执行指令:coredns -conf /etc/coredns/dns.conf &

5、从etcd中写入域名记录

docker exec -it 118d6cadf1b7 /bin/sh   #登录etcd容器etcdctl put /k8sqihoo/net/k8sqihoo/test-bjyt/yctest/pod1 '{"host":"10.216.138.203","ttl":60}' #写入域名记录,域名为pod1.yctest.test-bjyt.k8sqihoo.net,对应的pod-ip为10.216.138.203,也可以使用podName+公司后缀为名。

6、(本地或者其他虚拟机)修改/etc/resolv.conf,增加如下内容

7、测试验证,如下图可以看到通过域名可以ping通ip

整体方案

如上暴露域名的方式已明确,现主要问题是如何将pod域名和ip写入到etcd中。

1、在dns侧需要一个sever服务,该服务对外提供增加删除更新dns记录的接口,

2、在k8s侧需要一个agent用于watch对集群外暴露域名的pod,将podname,namespace等进行拼接组成域名(根据自身需要进行拼接),并将域名与ip传给server服务,记录到etcd中。删除时进行同样请求操作。

03


使用总结

1、在部署时dns-node可以考虑使用高可用方案,使用vip即可。

2、考虑到资源浪费,dns-node中的etcd可以跟k8s共用一套。

3、考虑到集群pod增删频率过快,导致的dns-node压力过大,可以针对有需要暴露pod域名需求的业务使用,通过pod anntation识别。

4、为使用方便可作为子集域名服务加到公司dns服务中。


更多技术干货,

请关注“360智汇云开发者”👇

360智汇云官网:https://zyun.360.cn(复制在浏览器中打开)

更多好用又便宜的云产品,欢迎试用体验~

添加工作人员企业微信👇,get更快审核通道+试用包哦~

图片


http://www.hkcw.cn/article/rSGLWrllbw.shtml

相关文章

【C++高级主题】命令空间(三):未命名的命名空间

目录 一、未命名的命名空间的基本概念 1.1 定义与特点 1.2 基本语法 1.3 访问方式 1.4 未命名的命名空间的作用 二、未命名的命名空间与静态声明的比较 2.1 静态声明的作用 2.2 未命名的命名空间的优势 2.3 示例代码比较 2.4. 未命名的命名空间的作用域和链接属性 三…

生成式人工智能:重构软件开发的范式革命与未来生态

引言 生成式人工智能(GenAI)正以颠覆性力量重塑软件开发的底层逻辑。从代码生成到业务逻辑设计,从数据分析到用户交互,GenAI通过其强大的推理能力与场景适应性,将传统开发流程的“复杂工程”转化为“敏捷实验”&#…

石宇奇称需要重视伤病:近期因治疗胃病导致腹部皮肤被烫出水泡

石宇奇称需要重视伤病。5月27日,在2025年新加坡羽毛球公开赛男单首轮比赛中,中国名将石宇奇以2比0战胜印尼选手郑加恒,顺利晋级十六强。赛后他透露,近期因治疗胃病导致腹部皮肤被烫出水泡。据了解,石宇奇长期受胃部不适和消化问题困扰,尤其2025年全英赛后症状加重,苏迪曼…

Attention Is All You Need论文阅读笔记

Attention is All You Need是如今机器学习研究者必读的论文,该文章提出的Transformer架构是如今很多机器学习项目的基础,说该文章极大推动了机器学习领域的研究也不为过。 但这么重要,也是必读的文章对初学者来说其实并不友好,很多…

持续12年的股权争夺战即将落幕 75%股权归属终见分晓

持续12年的股权争夺战即将落幕 75%股权归属终见分晓。一场持续12年的股权争夺战即将落幕。胡绪峰表示相信二审能公正判决,75%的股权归属问题即将揭晓。这场股权争夺战涉及陕西省公安厅厅长批示、最高人民法院判决,并影响了2000多户购房人的居住问题。2025年5月27日,王坚与陕…

Linux入门

环境配置: linux安装 https://old-releases.ubuntu.com/releases/14.04.4/ubuntu-14.04-server-amd64.isohttps://www.releases.ubuntu.com/14.04/下载后vmware打开iso文件 配置linux开机设置ssh与samba xshell:使用ip链接linux :linux获取ip&#xff…

黄仁勋终于告别股价下跌魔咒!

黄仁勋终于告别股价下跌魔咒。在很长的一段时间里,英伟达财报一发,股价就跌。不是因为业绩不行,而是因为只是超预期还不够。市场一面期待英伟达不仅是超预期增长,还要远超预期。一面期待英伟达高歌猛进的同时,抚平外界对其高增长可持续性的种种疑虑。这次终于不同了。当地…

云渲染农场行业需求,如何搭建,有什么用途?

云渲染农场是以云计算技术为基础,向用户提供高性能算力以解决三维设计任务本地渲染慢的问题。云渲染农场通过集群管理软件管理数万台服务器,用户只需要将3D效果图和动画渲染任务通过客户端提交,云渲染农场就可以将任务分配至空闲的高配服务器…

Ant Design Pro简单模版的搭建步骤

1.在电脑创建一个文件夹 2.在创建的目录下打开cmd 3.输入npm i ant-design/pro-cli -g来安装脚手架 npm i ant-design/pro-cli -g 4.输入pro create 项目名 选择simple 5. 下载完成以后进到目录中 cd reactAdmin 6. 安装依赖 yarn install 7. 安装完以后,启动…

美国联邦法官叫停禁止哈佛大学招收国际学生政策

美国马萨诸塞州联邦地区法院一名法官当地时间5月29日批准了哈佛大学对法院提出的发布初步禁令请求,“叫停”特朗普政府取消哈佛大学招收外国学生资质的政策。该法院法官艾莉森伯勒斯当天就该案举行听证会。法院网站最新信息显示,此前发布的临时限制令将继续有效,待各方协商并…

低代码——表单生成器Form Generator详解(二)——从JSON配置项到动态渲染表单渲染

在设计低代码表单生成器之前,需要了解组件库相关内容的基础内容 ElementUI中Layout布局与Form表单详解 核心流程 表单生成器从 JSON 配置到动态渲染表单的核心流程如下: 解析 JSON 配置:构建表单的结构和规则组件映射与渲染:将…

去年13.9万中国游客到希腊,同比增加45%

去年13.9万中国游客到希腊。“我们注意到中国游客对访问希腊的兴趣与日俱增。”2025年5月29日,在世界市长对话上海暨2025年上海国际友好城市合作论坛上,希腊雅典市市长哈里斯∙杜卡斯透露了一组数据:去年共有13.9万名中国公民抵达希腊,比2023年增加了45%。而游客在希腊逗留…

MediaMtx开源项目学习

这个博客主要记录MediaMtx开源项目学习记录,主要包括下载、推流(摄像头,MP4)、MediaMtx如何使用api去添加推流,最后自定义播放器,播放推流后的视频流,自定义Video播放器博客地址 1 下载 MediaMTX MediaMTX 提供了预编译的二进制文件,您可以从其 GitHub 页面下载: Gi…

棋盘问题(放置棋子)

题目: 题目解析: 在n*n的矩阵内描述棋盘,棋盘的“形状”输入决定,只能在#的位置放棋子,棋子不能同行,不能同列。 思路: 逐行尝试,放完第一行放第二行……每行的#都要尝试&#xf…

中国租借达尔文港99年是美国心病,美国三位总统都想“拔钉子”!

中国租借达尔文港99年是美国心病。美国“心病”:中国租借达尔文港99年,美国三位总统都想“拔钉子”!直新闻特约评论员刘和平认为,美国三位总统都对达尔文港被中国企业租借99年这件事情耿耿于怀,这背后实际上涉及到了美国在“印太地区”的整体部署与长期战略。近些年,随着…

存款降息或引发存款搬家 投资者寻找替代产品

存款降息或引发存款搬家 投资者寻找替代产品。随着国有大行和股份行相继下调存款利率,中小银行也纷纷跟进。多家银行定期存款利率已全面调整为“1字头”,高息大额存单因额度紧张而难以购买。一位投资者表示,定存利息太低,手中的存单到期后打算转投理财。在多个社交平台上,…

小伙拍下1300年荔枝树采摘权,被人们称作“荔枝界的茅台”

小伙拍下1300年荔枝树采摘权。在大家的常规认知里,荔枝无非就是超市、水果摊上常见的水果,花点小钱就能买上几斤解解馋。可就在最近,一位90后的小伙做出了一件让人惊掉下巴的事儿——他花1.3万元拍下了一棵有着1300年历史荔枝树的采摘权!这消息一传出,瞬间就像一颗炸弹投入…

手机设备多?怎样设置IP保证不关联

在移动互联网时代,多设备运营(如电商、游戏工作室、社交媒体矩阵)常面临IP关联风险,轻则账号受限,重则封禁。以下提供6种高效设置独立IP的方法,结合技术原理与实操建议,助您打造稳定合规的运营环…

Magentic-UI:人机协作的网页自动化革命

Magentic-UI是微软开源的一款创新浏览器自动化工具,基于多智能体系统和AutoGen框架设计,强调人机协作、透明性和安全控制,通过协作规划、实时执行和计划学习机制,高效处理复杂网页任务如数据抓取和表单填写,显著提升任…

Vehicle HAL(1)--整体介绍

AOSP 官网介绍: https://source.android.com/docs/automotive/vhal VHAL 简介: Android Automotive and Physical Car Interaction | Android Automotive OS Book Vehicle HAL Properties: https://source.android.com/docs/automotive/…