K8S headless service服务详解
一、headless和ClusterIP的区别
CoreDNS的作用:在K8S里,我们想要通过name来访问服务的方式就是在Deployment上面添加一层Service,这样我们就可以通过Service name来访问服务了,那其中的原理就是和CoreDNS有关,它将Service name解析成Cluster IP,
这样我们访问Cluster IP的时候就通过Cluster IP作负载均衡,把流量分布到各个POD上面
K8s中资源的全局FQDN格式:
Service_NAME.NameSpace_NAME.Domain.LTD.
Domain.LTD.=svc.cluster.local. #这是默认k8s集群的域名。
1、clusterip举例
ClusterIP
的原理:一个Service
可能对应多个EndPoint(Pod)
,client
访问的是Cluster IP
,通过iptables
规则转到Real Server
,从而达到负载均衡的效果
备注: 从上面的结果中我们可以看到虽然Service
有2个endpoint
,但是dns
查询时只会返回Service
的地址。
具体client
访问的是哪个Real Server,是由
iptables
来决定的
2、headless举例
解释:dns
查询会如实的返回2个真实的endpoint
headless使用场景
第一种:自主选择权,有时候client
想自己来决定使用哪个Real Server
,可以通过查询DNS
来获取Real Server
的信息。
第二种:Headless Service
的对应的每一个Endpoints
,即每一个Pod
,都会有对应的DNS
域名;这样Pod
之间就能互相访问,集群也能单独访问pod
感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具