0

我有气流使用CeleryExecutor部署在 k8s 集群中使用helm. 我定义了工人的数量。我最初认为这是工人的最大数量,但看起来工人 pod 总是在运行。所以这变成了一个静态的工人数量。为了解决这组静态工作人员,我正在寻找使用HorizontalPodAutoScaler. 好吧,我正在使用KubernetesPodOperator这意味着工作人员不会自己做工作/任务,而是会为每个任务旋转一个新资源(Pod)。所以这对我来说成为一个问题,HorizontalPodAutoScaler因为我需要扩展工作人员的数量,但由于不是工作人员在做这项工作,因此它将无法正确测量 CPU/内存使用情况以扩大/缩小规模。我认为HorizontalPodAutoScaler可以用于气流运行KubernetesExecutor,但不确定CeleryExecutor. 基本上我需要的是HorizontalPodAutoScaler根据将创建的 pod 的指标来实现KubernetesPodOperator,然后增加/减少工作人员的数量。

那么我该如何使用HorizontalPodAutoScaler或者是否有其他替代方法可以使工人规模动态化?

4

1 回答 1

0

如果您使用的是 KubernetesExecutor,则不需要添加 Horizo​​ntalPodAutoScaler,因为它确实基于矩阵缩放 pod,从技术上讲,KubernetesExecutor 每次都会为要执行的 DAG 创建新的 pod,是的,您可以在 DAG 中为 pod 定义资源。如果气流部署在 kube 上,那么 celeryExecutor 不是好主意。

于 2020-03-11T20:48:52.213 回答