Kubernetes Google Cloud Composer从Google容器注册表中提取过时的图像
我正试图通过GoogleCloudComposer和KubernetesPodOperator在一个基于私有Google容器注册表中的图像构建的环境中运行气流任务。容器注册表和Cloud Composer实例在同一个项目下,在我更新DAG引用的图像之前,一切都正常 当我更新容器注册表中的图像时,Cloud Composer会一直使用过时的图像 具体来说,在下面的代码中Kubernetes Google Cloud Composer从Google容器注册表中提取过时的图像,kubernetes,airflow,google-cloud-composer,Kubernetes,Airflow,Google Cloud Composer,我正试图通过GoogleCloudComposer和KubernetesPodOperator在一个基于私有Google容器注册表中的图像构建的环境中运行气流任务。容器注册表和Cloud Composer实例在同一个项目下,在我更新DAG引用的图像之前,一切都正常 当我更新容器注册表中的图像时,Cloud Composer会一直使用过时的图像 具体来说,在下面的代码中 import datetime import airflow from airflow.contrib.operators im
import datetime
import airflow
from airflow.contrib.operators import kubernetes_pod_operator
YESTERDAY = datetime.datetime.now() - datetime.timedelta(days=1)
# Create Airflow DAG the the pipeline
with airflow.DAG(
'my_dag',
schedule_interval=datetime.timedelta(days=1),
start_date=YESTERDAY) as dag:
my_task = kubernetes_pod_operator.KubernetesPodOperator(
task_id='my_task',
name='my_task',
cmds=['echo 0'],
namespace='default',
image=f'gcr.io/<my_private_repository>/<my_image>:latest')
导入日期时间
输入气流
从airflow.contrib.operators导入kubernetes_pod_操作符
昨天=datetime.datetime.now()-datetime.timedelta(天=1)
#在管道中创建气流DAG
使用.DAG(
“我的天哪”,
计划间隔=datetime.timedelta(天数=1),
开始日期=昨天)作为dag:
my_task=kubernetes_pod_operator.KubernetesPodOperator(
task_id='my_task',
name='my_task',
cmds=['echo 0'],
namespace='default',
image=f'gcr.io/:latest')
如果我更新容器注册表中的映像gcr.io//:latest
,Cloud Composer将继续使用容器注册表中不再存在的陈旧映像,并抛出一个错误
这是虫子吗
非常感谢 如中所述,image\u pull\u策略的默认值为'IfNotPresent'
。您需要配置您的Pod规格,以便始终提取图像
最简单的方法是将图像拉\u策略设置为“始终”
中没有提到更多的方法。我想知道当前的答案是否有助于解决您的问题。如果没有,我有两个问题;1) 你用标签推了图像了吗?2)您收到的错误是什么?