Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon ec2 当播客过多时,防止Kubernetes断开(kubectl不响应)_Amazon Ec2_Kubernetes_Kops - Fatal编程技术网

Amazon ec2 当播客过多时,防止Kubernetes断开(kubectl不响应)

Amazon ec2 当播客过多时,防止Kubernetes断开(kubectl不响应),amazon-ec2,kubernetes,kops,Amazon Ec2,Kubernetes,Kops,当集群中运行的吊舱过多(1000个吊舱)时,Kubernetes会中断(kubectl没有响应) 有足够的资源(CPU和内存),因此在我看来,某种控制器正在崩溃,无法处理大量的POD 我需要运行的工作负载可以进行大规模并行处理,因此我有大量的POD 事实上,我希望能够运行1000个吊舱的更多倍。甚至可能100000个豆荚 我的Kubernetes主节点是一个AWS EC2 m4.xlarge实例 我的直觉告诉我,是主节点的网络性能阻碍了集群的发展 有什么想法吗 详细信息: 我在一次部署中运行10

当集群中运行的吊舱过多(1000个吊舱)时,Kubernetes会中断(kubectl没有响应)

有足够的资源(CPU和内存),因此在我看来,某种控制器正在崩溃,无法处理大量的POD

我需要运行的工作负载可以进行大规模并行处理,因此我有大量的POD

事实上,我希望能够运行1000个吊舱的更多倍。甚至可能100000个豆荚

我的Kubernetes主节点是一个
AWS EC2 m4.xlarge
实例

我的直觉告诉我,是主节点的网络性能阻碍了集群的发展

有什么想法吗

详细信息:
我在一次部署中运行1000个吊舱。
当我执行
kubectl get deploy

它表明:

DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  
1000     1000     1000        458  
通过我的应用程序端数据库,我可以看到只有458个吊舱在工作

当我执行
kops验证群集时

我收到警告:

VALIDATION ERRORS
KIND            NAME                                                                    MESSAGE
ComponentStatus controller-manager                                                      component is unhealthy
ComponentStatus scheduler                                                               component is unhealthy
Pod             kube-system/kube-controller-manager-<ip>.ec2.internal        
kube-system pod 
"kube-controller-manager-<ip>.ec2.internal" is not healthy
Pod             
kube-system/kube-scheduler-<ip>.ec2.internal                 
kube-system pod "kube-scheduler-<ip>.ec2.internal" is not healthy
验证错误
品名信息
ComponentStatus控制器管理器组件不正常
组件状态计划程序组件不正常
吊舱kube系统/kube控制器管理器-ec2.1内部
库贝系统吊舱
“kube控制器管理器-.ec2.internal”不正常
豆荚
kube系统/kube调度程序-.ec2.internal
kube系统吊舱“kube调度程序-.ec2.internal”不正常

列出POD需要很长时间,这一事实与节点无关,因为节点能够处理POD的程度取决于它们拥有的CPU和内存等资源

您看到的问题更多地是关于
kubeapi服务器
能够查询/回复大量pod或资源

因此,这里的两个争用点是kube apiserver和etcd,其中存储了Kubernetes集群中所有内容的状态。因此,您可以专注于优化这两个组件,并更快地从say
kubectl get pods
获得响应(网络是另一个争用点,但如果您是从慢速宽带连接发出kubectl命令的话)

您可以尝试:

  • 建立一个拥有相当强大的机器和快速磁盘的网络

  • 升级
    kubeapi服务器所在的计算机

  • 请遵循所描述的更多指导原则


谢谢,@Rico我更新了更多错误消息,它是否与您怀疑的一致?我会检查这些组件上的日志,但如果kube apiserver过载,它会影响其他组件,如kube控制器管理器和kube调度程序,这是有意义的。