Kubernetes 服务到底是什么以及它们与部署有何不同

2023-12-26

在阅读了这样的 Kubernetes 文档后,部署 https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ , service https://kubernetes.io/docs/concepts/services-networking/service/#motivation and this https://www.digitalocean.com/community/tutorials/an-introduction-to-kubernetes我仍然不清楚服务的目的是什么。

该服务似乎有两个目的:

  1. 向外界公开部署(例如使用 LoadBalancer),
  2. 将一个部署公开给另一个部署(例如使用 ClusterIP 服务)。

是这样吗?那么 Ingress 呢?

- - - 更新 - - -

使用服务将前端连接到后端 https://kubernetes.io/docs/tasks/access-application-cluster/connecting-frontend-backend/是服务与部署配合使用的一个很好的示例。


Service

部署由一个或多个 Pod 和 Pod 副本组成。假设我们在部署中运行 3 个 pod 副本。现在我们假设没有服务。集群中的其他 Pod 如何访问这些 Pod?通过这些 Pod 的 IP 地址。如果我们说其中一个 Pod 发生故障会发生什么? Kunernetes 带来了另一个 pod。现在这些 Pod 的 IP 地址列表发生了变化,所有其他 Pod 都需要跟踪相同的情况。启用自动缩放时的情况也是如此。 Pod 的数量根据需求增加或减少。为了避免这个问题,服务就发挥了作用。因此,服务基本上是管理部署的 Pod IP 列表的程序。

是的,还有关于您在问题中发布的用途。

Ingress

Ingress 用于为集群中的各种服务提供单一入口点。让我们看一个简单的场景。您的集群中有两个服务。一个用于网络应用程序,另一个用于文档服务。如果您单独使用服务而不是入口,则需要维护两个负载均衡器。这也可能花费更多。为了避免这种情况,入口在定义时位于服务之上,并根据入口中定义的规则和路径路由到服务。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kubernetes 服务到底是什么以及它们与部署有何不同 的相关文章

随机推荐