首页
关于
留言
接口
搜索
资讯
技术
资源
悦读
杂记
首页
登录
登录
搜索
emer
累计撰写
58
篇文章
累计收到
0
条评论
首页
栏目
资讯
技术
资源
悦读
杂记
首页
登录
页面
首页
关于
留言
接口
包含标签 【无头服务】 的文章
2023-11-5
K8s里什么是无头服务headless?
『无头服务』即 Kubernetes 中的 Headless Service。Service 是 Kubernetes 对后端一组提供相同服务的 Pod 的逻辑抽象和访问入口。在某些应用场景中,若需要人为指定负载均衡器,不使用 Service 提供的默认负载均衡的功能,或者应用程序希望知道属于同组服务的其他实例。可以通过无头服务实现。Kubernetes 提供了 Headless Service 来实现这种功能,即不为 Service 设置 ClusterIP(入口 IP 地址),仅通过 Label Selector 将后端的 Pod 列表返回给调用的客户端。在nacos集群的资源清单文件,通过selector字段 matchlabels为:app=nacos 。设置了label selector之后,Kubernetes则会根据label selector查询pod列表 自动创建endpoint列表,将服务名(DNS域名)的解析机制配置为:当客户端访问服务名是,得到的是endpoint列表(而不是一个确定的IP地址)也可以回答一、Headless Service概念在某些应用场景中,客户端不需要通过Kubernetes内置的Service实现负载均衡功能,或者需要自行完成对服务后端各个实例的服务发现机制,或者需要自行实现负载均衡功能,可以通过创建特殊的名为“Headless”的服务实现。Headless Service的概念是这种服务没有入口访问地址(无ClusterIP地址),kube-proxy不会为其创建负载转发规则,而服务名(DNS域名)的解析机制取决于该Headless Service是否设置了Label Selector。二、Headless Service设置Label Selector如果Headless Service设置了Label Selector,Kubernetes则将根据Label Selector查询后端Pod列表,自动创建Endpoint列表,将服务名(DNS域名)的解析机制配置为:当客户端访问该服务名时,得到是全部Endpoint列表(而不是一个确定的IP地址)三、Headless Service未设置Label Selector如果Headless Service没有设置Label Selector,则Kubernetes不会自动创建对应的Endpoint列表。DNS系统会根据下列条件设置DNS记录。如果Service类型为ExternalName,则对服务名访问将直接被DNS系统转为Service设置的外部(externalName);如果系统中存在与Service同名的Endpoint定义,则服务名将被解析为Endpoint定义中的列表,适用于非ExternnalName类型的Service————————————————参考的博文https://blog.csdn.net/GaoChuang_/article/details/121313534
2023年-11月-5日
350 阅读
0 评论
技术