我对库伯内特斯的世界是陌生的。我正试图在我的个人项目上实现库伯内茨的优势。
我在docker容器中有一个api服务,它从后端获取数据。
我计划在kubernetes集群中的单个外部端口上创建此api服务容器的多个副本。如果副本在单个节点上,它们是否共享流量?
我的最终目标是创建此api服务的多个实例,以使我的应用程序更快(用户可以访问多个api服务中的一个,这将减少单个实例上的流量)。
我在kubernetes功能方面的想法正确吗?
对这叫做布雷斯悖论。
如果添加web服务器的多个实例/副本,它将共享负载并避免单点故障。
然而,要实现这一点,您必须创建并公开一个服务。您必须使用服务endpoint进行通信,而不是直接使用每个pods IP。
服务公开endpoint。它具有负载平衡功能。它通常使用循环机制将负载/请求分发到服务负载平衡器后面的服务器。
库伯内特斯管理豆荚。豆荚是容器周围的包装物。Kubernetes可以在同一节点(硬件)上或跨多个节点调度多个POD。取决于您如何配置它。您可以使用部署来管理管理POD的ReplicaSet。
通常建议避免直接管理POD。吊舱可能会突然坠落或停止。Kubectl将根据副本集配置自动为您创建一个新的。
使用展开,您还可以执行滚动更新。
您可以参考Kubernetes文档来详细了解这一点。
您是对的,您的API服务的多个副本将共享负载。在库伯内特斯中,有一个服务概念,它将流量发送到后端,在这种情况下,它是您在pod中运行的api应用程序。默认情况下,后端的选择是随机的。此外,Pods是在单个节点上运行还是在不同节点上运行并不重要,流量将根据标签在所有Pods之间随机分配。
这还将使您的应用程序高度可用,因为您将使用部署来指定副本的数量,并且每当可用副本的数量少于所需的副本时,Kubernetes将提供新的POD以满足所需的状态。
我有一个a、B、C的
我对container worrld是新手,并试图在两个linux VM中本地设置一个kubernetes集群。在集群初始化期间,它卡在 KubeADM-1.6.0-0.x86_64.rpm KubectL-1.6.0-0.x86_64.rpm Kubelet-1.6.0-0.x86_64.rpm
上节课我们和大家学习了怎样用 Promethues 来监控 Kubernetes 集群中的应用,但是对于 Kubernetes 集群本身的监控也是非常重要的,我们需要时时刻刻了解集群的运行状态。 对于集群的监控一般我们需要考虑以下几个方面: Kubernetes 节点的监控:比如节点的 cpu、load、disk、memory 等指标 内部系统组件的状态:比如 kube-scheduler、kub
目前,我正在尝试在Google云上创建一个Kubernetes集群,其中包含两个负载平衡器:一个用于后端(在Spring boot中),另一个用于前端(在Angular中),其中每个服务(负载平衡器)与两个副本(POD)通信。为了实现这一点,我创建了以下入口: 上面提到的入口可以使前端应用程序与后端应用程序提供的REST API进行通信。但是,我必须创建粘性会话,以便每个用户都与同一个POD进行通
我有一个在kubernetes集群(在AWS EKS上)上运行的mongo db副本集,比如集群-1。这在具有cidr的VPC-1中运行192.174.0.0/16. 我在一个单独的VPC中有另一个集群,比如VPC-2,在那里我将在mongo集群之上运行一些应用程序。该VPC cidr范围为192.176.0.0/16。所有VPC对等和安全组入口/出口规则都正常工作,我能够跨两个VPC ping集
Disque 以集群模式运行, 每个服务器都是集群中的一个节点, 用户可以运行任意数量的节点, 只要确保每个节点的端口号不同即可。 在默认情况下, 运行 Disque 服务器程序 disque-server 将启动一个端口号为 7711 的 Disque 节点: $ ./disque-server 528:C 28 Apr 11:50:08.519 # Warning: no config fil