繁体   English   中英

副本会减少单节点 kubernetes 集群上的流量吗?

[英]do replicas decrease traffic on a single node kubernetes cluster?

我是 kubernetes 世界的新手。 我正在尝试在我的个人项目中实现 kubernetes 的优势。

我在 docker 容器中有一个 api 服务,它从后端获取数据。

我计划在 kubernetes 集群的单个外部端口上创建这个 api 服务容器的多个副本。 如果副本位于单个节点上,它们是否共享流量?

我的最终目标是创建这个 api 服务的多个实例,以使我的应用程序更快(用户可以访问多个 api 服务之一,这应该减少单个实例上的流量)。

我在 kubernetes 功能方面的想法是否正确?

您是对的,您的 API 服务的多个副本将分担负载。 在 Kubernetes 中,有一个服务的概念,它会将流量发送到后端,在这种情况下,它是在 pod 中运行的 api 应用程序。 默认情况下,后端的选择是随机的。 此外,无论 Pod 是在单个节点上还是在不同节点上运行,流量都将根据标签随机分布在所有 Pod 中。

这也将使您的应用程序高度可用,因为您将使用部署来指定副本数量,并且每当可用副本数量少于所需副本时,Kubernetes 将提供新的 pod 以满足所需状态。

如果您添加 Web 服务器的多个实例/副本,它将分担负载并避免单点故障。

但是,要实现这一点,您必须创建并公开一个服务。 您必须使用 Service 端点进行通信,而不是直接使用每个 pods IP。

服务公开一个端点。 它具有负载平衡。 它通常使用循环将负载/请求分发到服务负载均衡器后面的服务器。

Kubernetes 管理 Pod。 Pod 是容器的包装器。 Kubernetes 可以在同一个节点(硬件)或跨多个节点调度多个 pod。 取决于你如何配置它。 您可以使用 Deployment 来管理管理 Pod 的 ReplicaSet。

通常建议避免直接管理 Pod。 Pod 可能会崩溃,突然停止。 Kubectl 将根据副本集配置自动为您创建一个新的。

使用部署,您还可以进行滚动更新。

你可以参考Kubernetes Docs来详细阅读。

是的。 这就是所谓的布雷斯悖论

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM