k8s的service
时间: 2023-09-12 10:09:43 浏览: 114
手写yaml文件创建k8s的deployment和service
Kubernetes的Service是一种抽象,用于将一组具有相同标签的Pods暴露给其他应用程序或服务。它提供了负载均衡、服务发现和访问控制的功能,使得应用程序能够稳定地访问到后端的Pods。通过Service,可以使用一个唯一的虚拟IP地址来代表一组Pods,并通过这个IP地址和端口与这组Pods进行通信。
在Kubernetes中,Service只是一个概念,真正起作用的是kube-proxy服务进程。每个节点上都运行着一个kube-proxy服务进程,它会监听Service的变动,并将最新的Service信息转换成对应的访问规则。当创建Service时,会将Service的信息写入etcd,并通知kube-proxy更新相应的访问规则,从而实现对Service的负载均衡和路由转发。
然而,对于某些场景中,开发人员可能不想使用Service提供的负载均衡功能,而是希望自己来控制负载均衡策略。为此,Kubernetes提供了Headless Service。Headless Service不会分配Cluster IP,只能通过Service的域名进行查询来访问Service。这样,开发人员可以自定义负载均衡策略,对访问Service的请求进行精细控制。
总结起来,Kubernetes的Service是一种用于暴露一组具有相同标签的Pods的抽象。它提供了负载均衡、服务发现和访问控制的功能。实际上,Service的实现是通过kube-proxy服务进程来完成的,它监听Service的变动,并根据最新的Service信息转换成对应的访问规则。此外,Kubernetes还提供了Headless Service,允许开发人员自定义负载均衡策略。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [Istio K8S Service](https://download.csdn.net/download/weixin_43707560/12525456)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [容器集群k8s从入门到精通之Service详解(第七章)](https://blog.csdn.net/qq_28121913/article/details/119208333)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文