Kubernetes Google Cloud Composer从Google容器注册表中提取过时的图像

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

我正试图通过GoogleCloudComposer和KubernetesPodOperator在一个基于私有Google容器注册表中的图像构建的环境中运行气流任务。容器注册表和Cloud Composer实例在同一个项目下,在我更新DAG引用的图像之前,一切都正常

当我更新容器注册表中的图像时,Cloud Composer会一直使用过时的图像

具体来说,在下面的代码中

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)您收到的错误是什么?