【发布时间】:2020-12-10 10:19:01
【问题描述】:
我的目标是能够使用自定义映像(放置在 ECR 中)在 Kubernetes 上部署气流。我想使用此自定义映像的原因是因为我想部署另一个带有气流的工具 (dbt)容器(也可以在那里接受其他建议)
实际效果: 我已经设法使用this Helm chart(默认使用以下image)来部署
我尝试过但没有成功:
我现在想用我在 ECR 中的自定义图像交换默认的image,所以我创建了values.yaml,其中包含:
airflow:
image:
repository: 000000000.dkr.ecr.eu-central-1.amazonaws.com/foo/meow
tag: latest
然后跑:
helm upgrade airflow-pod airflow-stable/airflow --version "7.14.0" --values values.yaml
我希望覆盖默认的 yaml 并从 ECR 中提取图像。然后我运行describe pod airflow-pod,发现错误日志如下(sn-p):
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 12m default-scheduler Successfully assigned 000000000.dkr.ecr.eu-central-1.amazonaws.com/foo/meow to ip-10-0-0-0eu-central-1.compute.internal
Normal Pulling 12m kubelet Pulling image "000000000.dkr.ecr.eu-central-1.amazonaws.com/foo/meow:latest"
Normal Pulled 11m kubelet Successfully pulled image "000000000.dkr.ecr.eu-central-1.amazonaws.com/foo/meow:latest"
Normal Created 9m39s (x5 over 11m) kubelet Created container airflow-web
Normal Pulled 9m39s (x4 over 11m) kubelet Container image "000000000.dkr.ecr.eu-central-1.amazonaws.com/foo/meow:latest" already present on machine
Warning Failed 9m38s (x5 over 11m) kubelet Error: failed to start container "airflow-web": Error response from daemon: OCI runtime create failed: container_linux.go:370: starting container process caused: exec: "/usr/bin/dumb-init": stat /usr/bin/dumb-init: no such file or directory: unknown
我尝试确认/解决问题的方法
首先,我尝试查看这是否是 ECR 问题。于是我把同样的original image放到了ECR中(而不是我自己用dbt的图片),发现上面同样的错误依然存在。
其次,我挖掘并发现了以下 question,这让我觉得我不能使用来自 ECR 回购(非官方)的气流舵 chart。
我最后采用的另一种方法: 我尝试使用chart on the Apache airflow repo 之类的:
helm install airflow . --namespace airflow-deploy --set executor=CeleryExecutor --set workers.keda.enabled=true --set workers.persistence.enabled=false
但我得到了错误:
Error: failed post-install: timed out waiting for the condition
【问题讨论】:
标签: kubernetes airflow