【发布时间】:2019-06-25 21:37:51
【问题描述】:
Spark 需要大量资源才能完成工作。 Kubernetes 是资源管理的绝佳环境。每个节点运行多少个 Spark POD 才能获得最佳资源利用率?
尝试在 Kubernetes 集群上运行 Spark 集群。
【问题讨论】:
Spark 需要大量资源才能完成工作。 Kubernetes 是资源管理的绝佳环境。每个节点运行多少个 Spark POD 才能获得最佳资源利用率?
尝试在 Kubernetes 集群上运行 Spark 集群。
【问题讨论】:
这取决于许多因素。我们需要知道您拥有多少资源以及 Pod 消耗了多少资源。为此,您需要setup a Metrics-server。
Metrics Server 是集群范围内的资源使用数据聚合器。
下一步是设置 HPA。
Horizontal Pod Autoscaler 根据观察到的 CPU 利用率或其他自定义指标自动扩展复制控制器、部署或副本集中的 pod 数量。 HPA 通常从一系列聚合 API 中获取指标:
如何让它发挥作用?
kubectl 默认支持 HPA:
kubectl create - 创建一个新的自动缩放器kubectl get hpa - 列出您的自动扩缩器kubectl describe hpa - 获取自动缩放器的详细描述kubectl delete - 删除自动缩放器示例:
kubectl autoscale rs foo --min=2 --max=5 --cpu-percent=80 为复制集 foo 创建一个自动缩放器,目标 CPU 利用率设置为 80%,副本数在 2 到 5 之间。您可以并且应该根据需要调整所有值。
Here 是关于如何使用 kubectl autoscale 命令的详细文档。
如果你觉得有用,请告诉我。
【讨论】: