我需要为将在本地和AWS上作为docker映像运行的spark应用程序创建K8s自动缩放设置,通过缩放,我的意思是(使用节点自动缩放)从本地部署到使用集群自动缩放器的AWS云或通过其他方式
我浏览了很多文章,例如如何在AWS / HPA和CA扩展上设置K8集群,但是找不到具体的指导
我正在寻找可以帮助我了解从哪里开始/应该遵循的步骤来建立这样的K8s集群的方向。
答案 0 :(得分:0)
关于群集自动缩放器: 满足以下条件之一时,Cluster Autoscaler是一种自动调整Kubernetes群集大小的工具: -由于资源不足,某些Pod无法在群集中运行, -群集中的某些节点未被充分利用的时间很长,它们的Pod可以放置在其他现有节点上。
Azure上的群集自动缩放器可动态缩放Kubernetes工作者节点。它在您的集群中作为部署运行。 此README将帮助您在Azure Kubernetes群集上运行群集自动缩放器。
关于HPA: Horizontal Pod Autoscaler基于观察到的CPU利用率或其他自定义指标,自动缩放复制控制器,部署或副本集中的Pod数量。 HPA通常从一系列汇总的API中获取指标: -metrics.k8s.io -custom.metrics.k8s.io -external.metrics.k8s.io
如果不仅仅基于CPU利用率,还需要单独启动Metrics-server。可以在here和here中找到更多信息。
如何使其起作用? 默认情况下,kubectl支持HPA:
示例: kubectl自动缩放rs foo --min = 2 --max = 5 --cpu-percent = 80为复制集foo创建一个自动缩放器,目标CPU利用率设置为80%,副本数在2到5之间。
Here是有关如何使用kubectl自动缩放命令的详细文档。