讲师中心 微信公众号
AI工具推荐 视频效率加速

K8s怎么配置ExternalName类型的Service打通外部服务

落婷君_9854

落婷君_9854

发布时间:2026-10-10 09:34:31

|

959人浏览过

|

来源于php中文网

原创

需配置ExternalName Service将外部域名映射为集群内服务名,关键字段为type: ExternalName和externalName,不设selector、ports与ClusterIP;必须指定namespace以确保跨命名空间可解析;通过nslookup验证CNAME记录是否生效;修改externalName可动态切换外部地址,无需重启Pod。

k8s怎么配置externalname类型的service打通外部服务

在Kubernetes集群中让内部应用通过统一服务名访问外部HTTP API、数据库域名或SaaS平台,需配置ExternalName Service将外部域名映射为集群内可解析的服务名,避免硬编码和DNS直连风险。

创建ExternalName Service资源

用YAML定义Service,关键字段是type: ExternalName和externalName,不写selector、不配ports、不生成ClusterIP。

在本地新建ext-svc.yaml文件,填入以下内容:

apiVersion: v1
kind: Service
metadata:
  name: pay-gateway
  namespace: finance
spec:
  type: ExternalName
  externalName: api.pay.example.com

执行kubectl apply -f ext-svc.yaml完成创建。

这一步不能漏掉namespace字段——如果省略,服务会落在default命名空间,而finance命名空间内的Pod无法直接用pay-gateway访问,必须写全pay-gateway.finance.svc.cluster.local。

验证DNS解析是否生效

进入集群内任意一个带nslookup或dig的Pod(如busybox、utils镜像):

kubectl run -it --rm --image=busybox:1.35 dns-test -- sh

在容器内执行:

nslookup pay-gateway.finance.svc.cluster.local

Book Tree Service
Book Tree Service

通过Lokuli MCP预订树木养护服务。当用户需要查找或预订树木养护服务时触发,如“预订树木服务”、“找附近的树木服务”等。

下载

预期输出中应包含canonical name = api.pay.example.com.,且最终解析出A记录IP。

若返回** server can't find pay-gateway.finance.svc.cluster.local: NXDOMAIN,说明CoreDNS未加载该Service,检查命名空间是否存在、YAML语法是否正确、kubectl上下文是否指向目标集群。

跨命名空间调用的两种写法

方法一:显式写全DNS路径(推荐用于调试和跨命名空间场景)
在dev命名空间的Pod里访问finance下的ExternalName服务:
curl http://pay-gateway.finance.svc.cluster.local/health

方法二:使用别名Service(仅限同命名空间)
若调用方也在finance命名空间,可直接用短名:
curl http://pay-gateway/health

注意:ExternalName Service本身不转发流量,也不做端口映射。它只是让kube-dns返回一条CNAME记录。后端服务的端口、TLS、认证等全部由外部服务自己处理。

修改外部域名指向

第一步:编辑原有Service资源
kubectl edit service pay-gateway -n finance

第二步:定位到externalName字段,把api.pay.example.com改为新地址staging-api.pay.example.com,保存退出。

第三步:等待CoreDNS刷新缓存(通常秒级),再次执行nslookup确认CNAME已变更。

这一步操作无需重启任何Pod,也不影响正在运行的连接——因为所有解析行为都发生在客户端发起请求前,变更后新发起的请求自动走新域名。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
Kratos框架HTTP与gRPC服务开发教程
Kratos框架HTTP与gRPC服务开发教程

本专题围绕Kratos框架双协议服务开发,涵盖HTTP路由与处理器编写、参数获取、gRPC服务实现与客户端调用、metadata上下文传递、encoding编解码注册、统一响应封装、超时控制与流式响应实现方法。

0

2026.10.10

Kratos框架Protobuf接口定义与代码生成合集
Kratos框架Protobuf接口定义与代码生成合集

本专题讲解Kratos框架接口定义体系,涵盖proto编写规范、proto add/client/server生成命令、http注解路由、validate校验、OpenAPI文档生成、跨服务proto复用与兼容性设计。

0

2026.10.10

C++虚函数怎么定义和调用
C++虚函数怎么定义和调用

C++虚函数是实现运行时多态的重要机制。本专题从virtual关键字的基本用法入手,介绍基类与派生类之间的函数重写、基类指针调用派生类方法,以及动态绑定的执行过程,帮助初学者掌握虚函数的核心语法。

0

2026.10.10

C++类与对象的封装方法教程
C++类与对象的封装方法教程

C++封装是面向对象编程的核心特性之一,通过类将数据与操作数据的函数组织在一起,并利用访问权限控制外部访问。本专题介绍类的定义、成员变量、成员函数以及public、private和protected的使用方法,帮助初学者掌握封装的基本原理。

0

2026.10.10

C++构造函数定义与调用方法
C++构造函数定义与调用方法

C++构造函数用于初始化类对象,是面向对象编程的重要基础。本专题从构造函数的定义、声明和调用入手,介绍默认构造函数、带参数构造函数、拷贝构造函数及成员初始化列表,帮助初学者掌握对象创建与初始化的基本方法。

0

2026.10.10

Kratos框架零基础入门教程
Kratos框架零基础入门教程

本专题整理Kratos框架入门内容,涵盖Go环境准备、kratos CLI安装升级、new命令创建项目、目录结构分层说明、服务启动与双协议端口、依赖下载报错排查,帮助开发者快速跑通第一个Kratos框架微服务应用。

0

2026.10.10

C++条件判断语句怎么写
C++条件判断语句怎么写

C++条件判断是控制程序执行流程的重要基础。本专题介绍if、if-else、else if和switch等常见分支语句,结合条件表达式、比较运算符与代码示例,帮助初学者掌握不同场景下的判断逻辑。

0

2026.10.10

C++变量怎么声明和赋值
C++变量怎么声明和赋值

C++变量是编写程序和存储数据的基础。本专题围绕变量声明、定义、初始化、赋值和类型选择等内容展开,帮助初学者理解不同变量的用法,并掌握在实际代码中定义和使用变量的方法。

0

2026.10.10

C++运算符基础入门
C++运算符基础入门

本专题详细讲解了C++运算符的类型、语法与使用方法,涵盖算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符及其他特殊运算符,并通过代码示例解析优先级与结合性。

0

2026.10.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
光速学会docker容器
光速学会docker容器

共33课时 | 3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn