Virtual machine 一个Kubernetes吊舱如何为多个用户服务?
我的同事和我有一个问题,一个Kubernetes吊舱如何能为多个用户服务。我们的信念是一个吊舱服务于一个终端用户。这是我们的实验 我们有一个基本的角度前端与一个.NETAPI服务器对话,该服务器使用运行在Linode Kubernetes集群上的MySQL PVClaim结构。集群有3个节点,具有大量的RAM、磁盘空间和CPU。这是“kubectl获得全部”的打印件:Virtual machine 一个Kubernetes吊舱如何为多个用户服务?,virtual-machine,kubernetes-pod,linode,Virtual Machine,Kubernetes Pod,Linode,我的同事和我有一个问题,一个Kubernetes吊舱如何能为多个用户服务。我们的信念是一个吊舱服务于一个终端用户。这是我们的实验 我们有一个基本的角度前端与一个.NETAPI服务器对话,该服务器使用运行在Linode Kubernetes集群上的MySQL PVClaim结构。集群有3个节点,具有大量的RAM、磁盘空间和CPU。这是“kubectl获得全部”的打印件: C:\development\Kubernetes >kubectl get all NAME
C:\development\Kubernetes >kubectl get all
NAME READY STATUS RESTARTS AGE
pod/dataapi-server-57c87f56c6-2fcdz 1/1 Running 0 21h
pod/gems-deployment-c9f6dbdbb-2qhff 1/1 Running 0 20h
pod/mysql-6d4b9f6f46-8m66h 1/1 Running 0 21h
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/dataapi-server ClusterIP 10.128.6.155 <none> 80/TCP 21h
service/gems-frontend-service LoadBalancer 10.128.76.185 104.***.**.** 80:31190/TCP 20h
service/kubernetes ClusterIP 10.128.0.1 <none> 443/TCP 4d23h
service/mysql ClusterIP None <none> 3306/TCP 21h
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/dataapi-server 1/1 1 1 21h
deployment.apps/gems-deployment 1/1 1 1 20h
deployment.apps/mysql 1/1 1 1 21h
C:\development\Kubernetes>kubectl获取全部
名称就绪状态重新启动
pod/dataapi-server-57c87f56c6-2fcdz 1/1运行0 21小时
pod/gems-deployment-C9F6DBB-2qhff 1/1运行0 20小时
pod/mysql-6d4b9f6f46-8m66h 1/1运行0 21小时
名称类型CLUSTER-IP外部IP端口年龄
服务/dataapi服务器群集IP 10.128.6.155 80/TCP 21h
服务/gems前端服务负载平衡器10.128.76.185 104.*.*.*.**80:31190/TCP 20h
service/kubernetes ClusterIP 10.128.0.1 443/TCP 4d23h
service/mysql集群无3306/TCP 21h
姓名就绪最新可用年龄
deployment.apps/dataapi-server 1/1 21h
deployment.apps/gems-deployment 1/1 20h
deployment.apps/mysql 1/1 21h
我的同事和我在两台不同的客户机上并肩工作,在各自的Chrome浏览器中启动了前端,并且都做了一些基本的独立工作。令我们惊讶的是,我们都能击中同一个吊舱(“gems-deployment-c9…”),并且工作效率很高。基于我们对POD和虚拟机的理解,这对我们来说毫无意义。我将在这里指出,我们对库伯内特和容器世界相当陌生
有人能解释为什么会这样吗?有什么文件可以指给我们看吗?我的谷歌搜索只在每个吊舱的多个容器上找到了文件,这不是我们的情况
提前谢谢 当您向Angular应用程序发出常规HTTP GET请求时,负载平衡器(服务)会根据节点上的压力确定应该接受请求的pod。因为您有一个前端pod,所以它只驻留在一个节点上,所以该节点处于选中状态 然后,节点创建一个新线程,该线程将持续发送响应(即网页)所需的时间。如果您的请求是同时进行的,那么节点通常只会打开另一个线程并同时为您提供服务,这与在Kubernetes之外托管此前端时发生的情况相同
对于您担心的问题,节点必须接收到的请求数量超过其有效处理的数量。在这种情况下,优化负载平衡器或提高节点功率都是有效的响应。非常感谢。回答得好!