【问题标题】:What exactly Kubernetes Services are and how they are different from DeploymentsKubernetes 服务到底是什么以及它们与部署有何不同
【发布时间】:2019-07-05 04:16:44
【问题描述】:

在阅读了像这样的 Kubernetes 文档后,deploymentservicethis 我仍然不清楚服务的目的是什么。

该服务似乎用于两个目的:

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

是这样吗?那么 Ingress 呢?

------更新------

Connect a Front End to a Back End Using a Service 是服务与部署一起工作的一个很好的例子。

【问题讨论】:

  • 部署是控制器之一 - 管理 pod / 容器 - 扩展、缩小、启动、停止、副本等。服务是负载均衡器 - 管理 pod (ClusterIP) 和外部世界之间的连接(负载均衡器,NodePort)
  • 所以我们在同一个页面上。

标签: kubernetes


【解决方案1】:

服务

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

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

入口

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

【讨论】:

  • 嵌套方案是这样的:例如3 个 pod 暴露在一个服务中。另一个服务中的 2 个 pod,在这些服务之上,有一个入口来负载平衡流量。对吗?
猜你喜欢
  • 2012-02-09
  • 2013-07-02
  • 2022-01-26
  • 2016-12-09
  • 2018-11-09
  • 1970-01-01
  • 2013-03-23
  • 2017-12-03
  • 2019-08-11
相关资源
最近更新 更多