美文网首页
k8s中service和endpoint

k8s中service和endpoint

作者: 九楼记 | 来源:发表于2023-01-03 23:28 被阅读0次

K8s提供了service对象来访问pod。

为什么没有直接访问pod?
一是k8s中pod不是持久性的,宕机重建将获得新的IP,客户端通过变更IP来访问显然不合理。二是需要多个副本间的负载均衡。

Service 是将运行在一组 Pods 上的应用程序公开为网络服务的抽象方法。如果我们使用 Deployment 部署 pod,则可以以 Deployment 为对象创建 Service。

在 K8S 中,每个 Pod 都有其自己唯一的 ip 地址,而 Service 可以为多个 Pod(一组)提供相同的 DNS 名,并且可以在他们直接进行负载均衡

service提供的4层负载均衡。

假如一组 pod 称为前端,如 web 服务,另一组 pod 称为后端,例如 mysql。那么 前端 如何查找并跟踪要连接的 ip 地址,以便前端可以使用工作负载的后端部分?

这正是 Service 要解决的问题。Kubernetes Service 定义了一种抽象:逻辑上的一组 Pod,一种可以访问它们的策略 —— 通常称为微服务。当使用 Service 为一组 pod (Deployment 的方式创建的)创建服务时,无论我们创建了多少个 pod 副本,这些 pod 怎么变化,前端不需要关心它们调用了哪个后端副本,而且不需要知道后端 pod 的状态也不需要跟踪 pod。Service 把前后端的这种关联抽象化,把它们解耦了。

Reference

[1] https://www.yisu.com/zixun/509894.html
[2] https://zhuanlan.zhihu.com/p/454836610

相关文章

网友评论

      本文标题:k8s中service和endpoint

      本文链接:https://www.haomeiwen.com/subject/qvfrcdtx.html