Amazon ec2 当播客过多时,防止Kubernetes断开(kubectl不响应)
当集群中运行的吊舱过多(1000个吊舱)时,Kubernetes会中断(kubectl没有响应) 有足够的资源(CPU和内存),因此在我看来,某种控制器正在崩溃,无法处理大量的POD 我需要运行的工作负载可以进行大规模并行处理,因此我有大量的POD 事实上,我希望能够运行1000个吊舱的更多倍。甚至可能100000个豆荚 我的Kubernetes主节点是一个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
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集群中所有内容的状态。因此,您可以专注于优化这两个组件,并更快地从saykubectl get pods
获得响应(网络是另一个争用点,但如果您是从慢速宽带连接发出kubectl命令的话)
您可以尝试:
- 建立一个拥有相当强大的机器和快速磁盘的网络
- 升级
kubeapi服务器所在的计算机
- 请遵循所描述的更多指导原则